import type { GeneratedEtsLibFile } from "../../types/generated";

export const FILE: GeneratedEtsLibFile = {
  path: 'ets/api/@ohos.multimedia.camera.d.ts',
  content: "/*\n * Copyright (C) 2022 Huawei Device Co., Ltd.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @file\n * @kit CameraKit\n */\nimport { ErrorCallback, AsyncCallback } from './@ohos.base';\nimport type Context from './application/BaseContext';\nimport image from './@ohos.multimedia.image';\nimport type colorSpaceManager from './@ohos.graphics.colorSpaceManager';\nimport photoAccessHelper from './@ohos.file.photoAccessHelper';\n/**\n * @namespace camera\n * @syscap SystemCapability.Multimedia.Camera.Core\n * @since 10\n */\n/**\n * @namespace camera\n * @syscap SystemCapability.Multimedia.Camera.Core\n * @atomicservice\n * @since 12\n */\ndeclare namespace camera {\n    /**\n     * Creates a CameraManager instance.\n     *\n     * @param { Context } context - Current application context.\n     * @returns { CameraManager } CameraManager instance.\n     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n     * @throws { BusinessError } 7400201 - Camera service fatal error.\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Creates a CameraManager instance.\n     *\n     * @param { Context } context - Current application context.\n     * @returns { CameraManager } CameraManager instance.\n     * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n     * @throws { BusinessError } 7400201 - Camera service fatal error.\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    function getCameraManager(context: Context): CameraManager;\n    /**\n     * Enum for camera status.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for camera status.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum CameraStatus {\n        /**\n         * Appear status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Appear status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_STATUS_APPEAR = 0,\n        /**\n         * Disappear status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Disappear status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_STATUS_DISAPPEAR = 1,\n        /**\n         * Available status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Available status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_STATUS_AVAILABLE = 2,\n        /**\n         * Unavailable status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unavailable status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_STATUS_UNAVAILABLE = 3\n    }\n    /**\n     * Enum for fold status.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Enum for fold status.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum FoldStatus {\n        /**\n         * Non-foldable status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Non-foldable status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        NON_FOLDABLE = 0,\n        /**\n         * Expanded status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Expanded status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        EXPANDED = 1,\n        /**\n         * Folded status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Folded status.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FOLDED = 2\n    }\n    /**\n     * Profile for camera streams.\n     *\n     * @typedef Profile\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Profile for camera streams.\n     *\n     * @typedef Profile\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Profile {\n        /**\n         * Camera format.\n         *\n         * @type { CameraFormat }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera format.\n         *\n         * @type { CameraFormat }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly format: CameraFormat;\n        /**\n         * Picture size.\n         *\n         * @type { Size }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Picture size.\n         *\n         * @type { Size }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly size: Size;\n    }\n    /**\n     * Frame rate range.\n     *\n     * @typedef FrameRateRange\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Frame rate range.\n     *\n     * @typedef FrameRateRange\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface FrameRateRange {\n        /**\n         * Min frame rate.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Min frame rate.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly min: number;\n        /**\n         * Max frame rate.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Max frame rate.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly max: number;\n    }\n    /**\n     * Video profile.\n     *\n     * @extends Profile\n     * @typedef VideoProfile\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Video profile.\n     *\n     * @extends Profile\n     * @typedef VideoProfile\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface VideoProfile extends Profile {\n        /**\n         * Frame rate in unit fps (frames per second).\n         *\n         * @type { FrameRateRange }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Frame rate in unit fps (frames per second).\n         *\n         * @type { FrameRateRange }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly frameRateRange: FrameRateRange;\n    }\n    /**\n     * Camera output capability.\n     *\n     * @typedef CameraOutputCapability\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Camera output capability.\n     *\n     * @typedef CameraOutputCapability\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CameraOutputCapability {\n        /**\n         * Preview profiles.\n         *\n         * @type { Array<Profile> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Preview profiles.\n         *\n         * @type { Array<Profile> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly previewProfiles: Array<Profile>;\n        /**\n         * Photo profiles.\n         *\n         * @type { Array<Profile> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Photo profiles.\n         *\n         * @type { Array<Profile> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly photoProfiles: Array<Profile>;\n        /**\n         * Video profiles.\n         *\n         * @type { Array<VideoProfile> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Video profiles.\n         *\n         * @type { Array<VideoProfile> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly videoProfiles: Array<VideoProfile>;\n        /**\n         * All the supported metadata Object Types.\n         *\n         * @type { Array<MetadataObjectType> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * All the supported metadata Object Types.\n         *\n         * @type { Array<MetadataObjectType> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly supportedMetadataObjectTypes: Array<MetadataObjectType>;\n    }\n    /**\n     * Enum for camera error code.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for camera error code.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum CameraErrorCode {\n        /**\n         * Parameter missing or parameter type incorrect.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Parameter missing or parameter type incorrect.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        INVALID_ARGUMENT = 7400101,\n        /**\n         * Operation not allowed.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Operation not allowed.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        OPERATION_NOT_ALLOWED = 7400102,\n        /**\n         * Session not config.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Session not config.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        SESSION_NOT_CONFIG = 7400103,\n        /**\n         * Session not running.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Session not running.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        SESSION_NOT_RUNNING = 7400104,\n        /**\n         * Session config locked.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Session config locked.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        SESSION_CONFIG_LOCKED = 7400105,\n        /**\n         * Device setting locked.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Device setting locked.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        DEVICE_SETTING_LOCKED = 7400106,\n        /**\n         * Can not use camera cause of conflict.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Can not use camera cause of conflict.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CONFLICT_CAMERA = 7400107,\n        /**\n         * Camera disabled cause of security reason.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera disabled cause of security reason.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        DEVICE_DISABLED = 7400108,\n        /**\n         * Can not use camera cause of preempted.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Can not use camera cause of preempted.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        DEVICE_PREEMPTED = 7400109,\n        /**\n         * Unresolved conflicts with current configurations.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Unresolved conflicts with current configurations.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        UNRESOLVED_CONFLICTS_WITH_CURRENT_CONFIGURATIONS = 7400110,\n        /**\n         * Camera service fatal error.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera service fatal error.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        SERVICE_FATAL_ERROR = 7400201\n    }\n    /**\n     * Camera manager object.\n     *\n     * @interface CameraManager\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Camera manager object.\n     *\n     * @interface CameraManager\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CameraManager {\n        /**\n         * Gets supported camera descriptions.\n         *\n         * @returns { Array<CameraDevice> } An array of supported cameras.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Gets supported camera descriptions.\n         *\n         * @returns { Array<CameraDevice> } An array of supported cameras.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedCameras(): Array<CameraDevice>;\n        /**\n         * Gets supported output capability for specific camera.\n         *\n         * @param { CameraDevice } camera - Camera device.\n         * @returns { CameraOutputCapability } The camera output capability.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.CameraManager#getSupportedOutputCapability\n         */\n        getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;\n        /**\n         * Gets supported scene mode for specific camera.\n         *\n         * @param { CameraDevice } camera - Camera device.\n         * @returns { Array<SceneMode> } An array of supported scene mode of camera.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets supported scene mode for specific camera.\n         *\n         * @param { CameraDevice } camera - Camera device.\n         * @returns { Array<SceneMode> } An array of supported scene mode of camera.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedSceneModes(camera: CameraDevice): Array<SceneMode>;\n        /**\n         * Gets supported output capability for specific camera.\n         *\n         * @param { CameraDevice } camera - Camera device.\n         * @param { SceneMode } mode - Scene mode.\n         * @returns { CameraOutputCapability } The camera output capability.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets supported output capability for specific camera.\n         *\n         * @param { CameraDevice } camera - Camera device.\n         * @param { SceneMode } mode - Scene mode.\n         * @returns { CameraOutputCapability } The camera output capability.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedOutputCapability(camera: CameraDevice, mode: SceneMode): CameraOutputCapability;\n        /**\n         * Determine whether camera is muted.\n         *\n         * @returns { boolean } Is camera muted.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Determine whether camera is muted.\n         *\n         * @returns { boolean } Is camera muted.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isCameraMuted(): boolean;\n        /**\n         * Creates a CameraInput instance by camera.\n         *\n         * @permission ohos.permission.CAMERA\n         * @param { CameraDevice } camera - Camera device used to create the instance.\n         * @returns { CameraInput } The CameraInput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Creates a CameraInput instance by camera.\n         *\n         * @permission ohos.permission.CAMERA\n         * @param { CameraDevice } camera - Camera device used to create the instance.\n         * @returns { CameraInput } The CameraInput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Creates a CameraInput instance by camera.\n         *\n         * @permission ohos.permission.CAMERA\n         * @param { CameraDevice } camera - Camera device used to create the instance.\n         * @returns { CameraInput } The CameraInput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createCameraInput(camera: CameraDevice): CameraInput;\n        /**\n         * Creates a CameraInput instance by camera position and type.\n         *\n         * @permission ohos.permission.CAMERA\n         * @param { CameraPosition } position - Target camera position.\n         * @param { CameraType } type - Target camera type.\n         * @returns { CameraInput } The CameraInput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Creates a CameraInput instance by camera position and type.\n         *\n         * @permission ohos.permission.CAMERA\n         * @param { CameraPosition } position - Target camera position.\n         * @param { CameraType } type - Target camera type.\n         * @returns { CameraInput } The CameraInput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Creates a CameraInput instance by camera position and type.\n         *\n         * @permission ohos.permission.CAMERA\n         * @param { CameraPosition } position - Target camera position.\n         * @param { CameraType } type - Target camera type.\n         * @returns { CameraInput } The CameraInput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createCameraInput(position: CameraPosition, type: CameraType): CameraInput;\n        /**\n         * Creates a PreviewOutput instance.\n         *\n         * @param { Profile } profile - Preview output profile.\n         * @param { string } surfaceId - Surface object id used in camera photo output.\n         * @returns { PreviewOutput } The PreviewOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Creates a PreviewOutput instance.\n         *\n         * @param { Profile } profile - Preview output profile.\n         * @param { string } surfaceId - Surface object id used in camera photo output.\n         * @returns { PreviewOutput } The PreviewOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Creates a PreviewOutput instance.\n         *\n         * @param { Profile } profile - Preview output profile.\n         * @param { string } surfaceId - Surface object id used in camera photo output.\n         * @returns { PreviewOutput } The PreviewOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput;\n        /**\n         * Creates a PreviewOutput instance without profile.\n         * You can use this method to create a preview output instance without a profile, This instance can\n         * only be used in a preconfiged session.\n         *\n         * @param { string } surfaceId - Surface object id used in camera preview output.\n         * @returns { PreviewOutput } The PreviewOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Creates a PreviewOutput instance without profile.\n         * You can use this method to create a preview output instance without a profile, This instance can\n         * only be used in a preconfiged session.\n         *\n         * @param { string } surfaceId - Surface object id used in camera preview output.\n         * @returns { PreviewOutput } The PreviewOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createPreviewOutput(surfaceId: string): PreviewOutput;\n        /**\n         * Creates a PhotoOutput instance.\n         *\n         * @param { Profile } profile - Photo output profile.\n         * @param { string } surfaceId - Surface object id used in camera photo output.\n         * @returns { PhotoOutput } The PhotoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.CameraManager#createPhotoOutput\n         */\n        createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput;\n        /**\n         * Creates a PhotoOutput instance without surfaceId.\n         * Call PhotoOutput capture interface will give a callback,\n         * {@link on(type: 'photoAvailable', callback: AsyncCallback<Photo>)}\n         *\n         * @param { Profile } profile - Photo output profile.\n         * @returns { PhotoOutput } The PhotoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Creates a PhotoOutput instance without surfaceId.\n         * Call PhotoOutput capture interface will give a callback,\n         * {@link on(type: 'photoAvailable', callback: AsyncCallback<Photo>)}\n         * You can use this method to create a photo output instance without a profile, This instance can\n         * only be used in a preconfiged session.\n         *\n         * @param { Profile } profile - Photo output profile.\n         * @returns { PhotoOutput } The PhotoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Creates a PhotoOutput instance without surfaceId.\n         * Call PhotoOutput capture interface will give a callback,\n         * {@link on(type: 'photoAvailable', callback: AsyncCallback<Photo>)}\n         * You can use this method to create a photo output instance without a profile, This instance can\n         * only be used in a preconfiged session.\n         *\n         * @param { Profile } profile - Photo output profile.\n         * @returns { PhotoOutput } The PhotoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createPhotoOutput(profile?: Profile): PhotoOutput;\n        /**\n         * Creates a VideoOutput instance.\n         *\n         * @param { VideoProfile } profile - Video profile.\n         * @param { string } surfaceId - Surface object id used in camera video output.\n         * @returns { VideoOutput } The VideoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Creates a VideoOutput instance.\n         *\n         * @param { VideoProfile } profile - Video profile.\n         * @param { string } surfaceId - Surface object id used in camera video output.\n         * @returns { VideoOutput } The VideoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Creates a VideoOutput instance.\n         *\n         * @param { VideoProfile } profile - Video profile.\n         * @param { string } surfaceId - Surface object id used in camera video output.\n         * @returns { VideoOutput } The VideoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput;\n        /**\n         * Creates a VideoOutput instance without profile.\n         * You can use this method to create a video output instance without a profile, This instance can\n         * only be used in a preconfiged session.\n         *\n         * @param { string } surfaceId - Surface object id used in camera video output.\n         * @returns { VideoOutput } The VideoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Creates a VideoOutput instance without profile.\n         * You can use this method to create a video output instance without a profile, This instance can\n         * only be used in a preconfiged session.\n         *\n         * @param { string } surfaceId - Surface object id used in camera video output.\n         * @returns { VideoOutput } The VideoOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createVideoOutput(surfaceId: string): VideoOutput;\n        /**\n         * Creates a MetadataOutput instance.\n         *\n         * @param { Array<MetadataObjectType> } metadataObjectTypes - Array of MetadataObjectType.\n         * @returns { MetadataOutput } The MetadataOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Creates a MetadataOutput instance.\n         *\n         * @param { Array<MetadataObjectType> } metadataObjectTypes - Array of MetadataObjectType.\n         * @returns { MetadataOutput } The MetadataOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Creates a MetadataOutput instance.\n         *\n         * @param { Array<MetadataObjectType> } metadataObjectTypes - Array of MetadataObjectType.\n         * @returns { MetadataOutput } The MetadataOutput instance.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createMetadataOutput(metadataObjectTypes: Array<MetadataObjectType>): MetadataOutput;\n        /**\n         * Gets a CaptureSession instance.\n         *\n         * @returns { CaptureSession } The CaptureSession instance.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.CameraManager#createSession\n         */\n        createCaptureSession(): CaptureSession;\n        /**\n         * Gets a Session instance by specific scene mode.\n         *\n         * @param { SceneMode } mode - Scene mode.\n         * @returns { T } The specific Session instance by specific scene mode.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         * 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types;\n         * 3. Parameter verification failed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets a Session instance by specific scene mode.\n         *\n         * @param { SceneMode } mode - Scene mode.\n         * @returns { T } The specific Session instance by specific scene mode.\n         * @throws { BusinessError } 7400101 - Parameter error. Possible causes:\n         * 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types;\n         * 3. Parameter verification failed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        createSession<T extends Session>(mode: SceneMode): T;\n        /**\n         * Queries a specified device based on position and type.\n         *\n         * @param { CameraPosition } position - Camera position.\n         * @param { CameraType } type - Camera type.\n         * @returns { CameraDevice } A device queried base on position and type.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Queries a specified device based on position and type.\n         *\n         * @param { CameraPosition } position - Camera position.\n         * @param { CameraType } type - Camera type.\n         * @returns { CameraDevice } A device queried base on position and type.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getCameraDevice(position: CameraPosition, type: CameraType): CameraDevice;\n        /**\n         * Obtains the concurrent information of specified cameras,\n         * the empty return means concurrency is not supported.\n         *\n         * @param { Array<CameraDevice> } cameras - Set of camera devices to be queried.\n         * @returns { Array<CameraConcurrentInfo> } Set of queried concurrent information.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Obtains the concurrent information of specified cameras,\n         * the empty return means concurrency is not supported.\n         *\n         * @param { Array<CameraDevice> } cameras - Set of camera devices to be queried.\n         * @returns { Array<CameraConcurrentInfo> } Set of queried concurrent information.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getCameraConcurrentInfos(cameras: Array<CameraDevice>): Array<CameraConcurrentInfo>;\n        /**\n         * Subscribes camera status change event callback.\n         *\n         * @param { 'cameraStatus' } type - Event type.\n         * @param { AsyncCallback<CameraStatusInfo> } callback - Callback used to get the camera status change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes camera status change event callback.\n         *\n         * @param { 'cameraStatus' } type - Event type.\n         * @param { AsyncCallback<CameraStatusInfo> } callback - Callback used to get the camera status change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'cameraStatus', callback: AsyncCallback<CameraStatusInfo>): void;\n        /**\n         * Unsubscribes from camera status change event callback.\n         *\n         * @param { 'cameraStatus' } type - Event type.\n         * @param { AsyncCallback<CameraStatusInfo> } callback - Callback used to get the camera status change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from camera status change event callback.\n         *\n         * @param { 'cameraStatus' } type - Event type.\n         * @param { AsyncCallback<CameraStatusInfo> } callback - Callback used to get the camera status change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'cameraStatus', callback?: AsyncCallback<CameraStatusInfo>): void;\n        /**\n         * Subscribes fold status change event callback.\n         *\n         * @param { 'foldStatusChanged' } type - Event type.\n         * @param { AsyncCallback<FoldStatusInfo> } callback - Callback used to get the fold status change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Subscribes fold status change event callback.\n         *\n         * @param { 'foldStatusChanged' } type - Event type.\n         * @param { AsyncCallback<FoldStatusInfo> } callback - Callback used to get the fold status change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'foldStatusChange', callback: AsyncCallback<FoldStatusInfo>): void;\n        /**\n         * Unsubscribes from fold status change event callback.\n         *\n         * @param { 'foldStatusChanged' } type - Event type.\n         * @param { AsyncCallback<FoldStatusInfo> } callback - Callback used to get the fold status change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Unsubscribes from fold status change event callback.\n         *\n         * @param { 'foldStatusChanged' } type - Event type.\n         * @param { AsyncCallback<FoldStatusInfo> } callback - Callback used to get the fold status change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'foldStatusChange', callback?: AsyncCallback<FoldStatusInfo>): void;\n        /**\n         * Check if the device has a torch.\n         *\n         * @returns { boolean } this value that specifies whether the device has a torch.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Check if the device has a torch.\n         *\n         * @returns { boolean } this value that specifies whether the device has a torch.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isTorchSupported(): boolean;\n        /**\n         * Check if a specifies torch mode is supported.\n         * @param { TorchMode } mode - torch mode.\n         * @returns { boolean } is torch mode supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Check if a specifies torch mode is supported.\n         * @param { TorchMode } mode - torch mode.\n         * @returns { boolean } is torch mode supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isTorchModeSupported(mode: TorchMode): boolean;\n        /**\n         * Get current torch mode.\n         *\n         * @returns { TorchMode } torch mode.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Get current torch mode.\n         *\n         * @returns { TorchMode } torch mode.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getTorchMode(): TorchMode;\n        /**\n         * Set torch mode to the device.\n         *\n         * @param { TorchMode } mode - torch mode.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Set torch mode to the device.\n         *\n         * @param { TorchMode } mode - torch mode.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Set torch mode to the device.\n         *\n         * @param { TorchMode } mode - torch mode.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Set torch mode to the device.\n         *\n         * @param { TorchMode } mode - torch mode.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setTorchMode(mode: TorchMode): void;\n        /**\n         * Subscribes torch status change event callback.\n         *\n         * @param { 'torchStatusChange' } type - Event type\n         * @param { AsyncCallback<TorchStatusInfo> } callback - Callback used to return the torch status change\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes torch status change event callback.\n         *\n         * @param { 'torchStatusChange' } type - Event type\n         * @param { AsyncCallback<TorchStatusInfo> } callback - Callback used to return the torch status change\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'torchStatusChange', callback: AsyncCallback<TorchStatusInfo>): void;\n        /**\n         * Unsubscribes torch status change event callback.\n         *\n         * @param { 'torchStatusChange' } type - Event type\n         * @param { AsyncCallback<TorchStatusInfo> } callback - Callback used to return the torch status change\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes torch status change event callback.\n         *\n         * @param { 'torchStatusChange' } type - Event type\n         * @param { AsyncCallback<TorchStatusInfo> } callback - Callback used to return the torch status change\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'torchStatusChange', callback?: AsyncCallback<TorchStatusInfo>): void;\n    }\n    /**\n     * Torch status info.\n     *\n     * @typedef TorchStatusInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Torch status info.\n     *\n     * @typedef TorchStatusInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface TorchStatusInfo {\n        /**\n         * is torch available\n         *\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * is torch available\n         *\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly isTorchAvailable: boolean;\n        /**\n         * is torch active\n         *\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * is torch active\n         *\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly isTorchActive: boolean;\n        /**\n         * the current torch brightness level.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * the current torch brightness level.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly torchLevel: number;\n    }\n    /**\n     * Enum for torch mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Enum for torch mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum TorchMode {\n        /**\n         * The device torch is always off.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * The device torch is always off.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        OFF = 0,\n        /**\n         * The device torch is always on.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * The device torch is always on.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        ON = 1,\n        /**\n         * The device continuously monitors light levels and uses the torch when necessary.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * The device continuously monitors light levels and uses the torch when necessary.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        AUTO = 2\n    }\n    /**\n     * Camera status info.\n     *\n     * @typedef CameraStatusInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Camera status info.\n     *\n     * @typedef CameraStatusInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CameraStatusInfo {\n        /**\n         * Camera instance.\n         *\n         * @type { CameraDevice }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera instance.\n         *\n         * @type { CameraDevice }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        camera: CameraDevice;\n        /**\n         * Current camera status.\n         *\n         * @type { CameraStatus }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Current camera status.\n         *\n         * @type { CameraStatus }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        status: CameraStatus;\n    }\n    /**\n     * Fold status info.\n     *\n     * @typedef FoldStatusInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Fold status info.\n     *\n     * @typedef FoldStatusInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface FoldStatusInfo {\n        /**\n         * Gets supported camera devices under the current fold status.\n         *\n         * @type { Array<CameraDevice> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets supported camera devices under the current fold status.\n         *\n         * @type { Array<CameraDevice> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly supportedCameras: Array<CameraDevice>;\n        /**\n         * Current fold status.\n         *\n         * @type { FoldStatus }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Current fold status.\n         *\n         * @type { FoldStatus }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly foldStatus: FoldStatus;\n    }\n    /**\n     * Enum for camera position.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for camera position.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 12\n     */\n    enum CameraPosition {\n        /**\n         * Unspecified position.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unspecified position.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 12\n         */\n        CAMERA_POSITION_UNSPECIFIED = 0,\n        /**\n         * Back position.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Back position.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 12\n         */\n        CAMERA_POSITION_BACK = 1,\n        /**\n         * Front position.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Front position.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 12\n         */\n        CAMERA_POSITION_FRONT = 2,\n        /**\n         * Camera that is inner position when the device is folded.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Camera that is inner position when the device is folded.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 12\n         * @deprecated since 12\n         */\n        CAMERA_POSITION_FOLD_INNER = 3\n    }\n    /**\n     * Enum for camera type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for camera type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum CameraType {\n        /**\n         * Default camera type\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Default camera type\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_TYPE_DEFAULT = 0,\n        /**\n         * Wide camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Wide camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_TYPE_WIDE_ANGLE = 1,\n        /**\n         * Ultra wide camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Ultra wide camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_TYPE_ULTRA_WIDE = 2,\n        /**\n         * Telephoto camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Telephoto camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_TYPE_TELEPHOTO = 3,\n        /**\n         * True depth camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * True depth camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_TYPE_TRUE_DEPTH = 4\n    }\n    /**\n     * Enum for camera connection type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for camera connection type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum ConnectionType {\n        /**\n         * Built-in camera.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Built-in camera.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_CONNECTION_BUILT_IN = 0,\n        /**\n         * Camera connected using USB\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera connected using USB\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_CONNECTION_USB_PLUGIN = 1,\n        /**\n         * Remote camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Remote camera\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_CONNECTION_REMOTE = 2\n    }\n    \n    /**\n     * Enum for remote camera device type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 15\n     */\n    /**\n     * Enum for remote camera device type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum HostDeviceType {\n        \n        /**\n         * Indicates an unknown device camera.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 15\n         */\n        /**\n         * Indicates an unknown device camera.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        UNKNOWN_TYPE = 0,\n        \n        /**\n         * Indicates a smartphone camera.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 15\n         */\n        /**\n         * Indicates a smartphone camera.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        PHONE = 0x0E,\n        \n        /**\n         * Indicates a tablet camera.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 15\n         */\n        /**\n         * Indicates a tablet camera.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        TABLET = 0x11\n    }\n    /**\n     * Camera device object.\n     *\n     * @typedef CameraDevice\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Camera device object.\n     *\n     * @typedef CameraDevice\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CameraDevice {\n        /**\n         * Camera id attribute.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera id attribute.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly cameraId: string;\n        /**\n         * Camera position attribute.\n         *\n         * @type { CameraPosition }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera position attribute.\n         *\n         * @type { CameraPosition }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly cameraPosition: CameraPosition;\n        /**\n         * Camera type attribute.\n         *\n         * @type { CameraType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera type attribute.\n         *\n         * @type { CameraType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly cameraType: CameraType;\n        /**\n         * Camera connection type attribute.\n         *\n         * @type { ConnectionType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera connection type attribute.\n         *\n         * @type { ConnectionType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly connectionType: ConnectionType;\n        \n        /**\n         * Camera remote camera device name attribute.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 15\n         */\n        /**\n         * Camera remote camera device name attribute.\n         *\n         * @type { string }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly hostDeviceName: string;\n        \n        /**\n         * Camera remote camera device type attribute.\n         *\n         * @type { HostDeviceType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 15\n         */\n        /**\n         * Camera remote camera device type attribute.\n         *\n         * @type { HostDeviceType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly hostDeviceType: HostDeviceType;\n        /**\n         * Camera sensor orientation attribute.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Camera sensor orientation attribute.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly cameraOrientation: number;\n    }\n    /**\n     * Size parameter.\n     *\n     * @typedef Size\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Size parameter.\n     *\n     * @typedef Size\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Size {\n        /**\n         * Height.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Height.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        height: number;\n        /**\n         * Width.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Width.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        width: number;\n    }\n    /**\n     * Point parameter.\n     *\n     * @typedef Point\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Point parameter.\n     *\n     * @typedef Point\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Point {\n        /**\n         * x co-ordinate\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * x co-ordinate\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        x: number;\n        /**\n         * y co-ordinate\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * y co-ordinate\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        y: number;\n    }\n    /**\n     * Camera input object.\n     *\n     * @interface CameraInput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Camera input object.\n     *\n     * @interface CameraInput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CameraInput {\n        /**\n         * Open camera.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.\n         * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Open camera.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.\n         * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        open(callback: AsyncCallback<void>): void;\n        /**\n         * Open camera.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.\n         * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Open camera.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.\n         * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        open(): Promise<void>;\n        /**\n         * Open camera.\n         *\n         * @param { boolean } isSecureEnabled - Enable secure camera.\n         * @returns { Promise<bigint> } Promise used to return the result.\n         * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.\n         * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Open camera.\n         *\n         * @param { boolean } isSecureEnabled - Enable secure camera.\n         * @returns { Promise<bigint> } Promise used to return the result.\n         * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.\n         * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        open(isSecureEnabled: boolean): Promise<bigint>;\n        /**\n         * Open camera with specified concurrent type.\n         *\n         * @param { CameraConcurrentType } type - Camera concurrent type.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.\n         * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Open camera with specified concurrent type.\n         *\n         * @param { CameraConcurrentType } type - Camera concurrent type.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400107 - Can not use camera cause of conflict.\n         * @throws { BusinessError } 7400108 - Camera disabled cause of security reason.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        open(type: CameraConcurrentType): Promise<void>;\n        /**\n         * Close camera.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Close camera.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        close(callback: AsyncCallback<void>): void;\n        /**\n         * Close camera.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Close camera.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        close(): Promise<void>;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { CameraDevice } camera - Camera device.\n         * @param { ErrorCallback } callback - Callback used to get the camera input errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { CameraDevice } camera - Camera device.\n         * @param { ErrorCallback } callback - Callback used to get the camera input errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { CameraDevice } camera - Camera device.\n         * @param { ErrorCallback } callback - Callback used to get the camera input errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { CameraDevice } camera - Camera device.\n         * @param { ErrorCallback } callback - Callback used to get the camera input errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'error', camera: CameraDevice, callback?: ErrorCallback): void;\n    }\n    /**\n     * Enumerates the camera scene modes.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Enumerates the camera scene modes.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum SceneMode {\n        /**\n         * Normal photo mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Normal photo mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        NORMAL_PHOTO = 1,\n        /**\n         * Normal video mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Normal video mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        NORMAL_VIDEO = 2,\n        /**\n         * Secure camera mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Secure camera mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        SECURE_PHOTO = 12\n    }\n    /**\n     * Enum for camera format type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for camera format type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum CameraFormat {\n        /**\n         * RGBA 8888 Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * RGBA 8888 Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_FORMAT_RGBA_8888 = 3,\n        /**\n         * YUV 420 Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * YUV 420 Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_FORMAT_YUV_420_SP = 1003,\n        /**\n         * JPEG Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * JPEG Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_FORMAT_JPEG = 2000,\n        /**\n         * YCBCR P010 Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * YCBCR P010 Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_FORMAT_YCBCR_P010,\n        /**\n         * YCRCB P010 Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * YCRCB P010 Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_FORMAT_YCRCB_P010,\n        /**\n         * HEIC Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * HEIC Format.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_FORMAT_HEIC = 2003\n    }\n    /**\n     * Enum for flash mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for flash mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum FlashMode {\n        /**\n         * Close mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Close mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FLASH_MODE_CLOSE = 0,\n        /**\n         * Open mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Open mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FLASH_MODE_OPEN = 1,\n        /**\n         * Auto mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Auto mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FLASH_MODE_AUTO = 2,\n        /**\n         * Always open mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Always open mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FLASH_MODE_ALWAYS_OPEN = 3\n    }\n    /**\n     * Flash Query object.\n     *\n     * @interface FlashQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Flash Query object.\n     *\n     * @interface FlashQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface FlashQuery {\n        /**\n         * Check if device has flash light.\n         *\n         * @returns { boolean } The flash light support status.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Check if device has flash light.\n         * Move to FlashQuery interface from Flash since 12.\n         *\n         * @returns { boolean } The flash light support status.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Check if device has flash light.\n         * Move to FlashQuery interface from Flash since 12.\n         *\n         * @returns { boolean } The flash light support status.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        hasFlash(): boolean;\n        /**\n         * Checks whether a specified flash mode is supported.\n         *\n         * @param { FlashMode } flashMode - Flash mode\n         * @returns { boolean } Is the flash mode supported.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Checks whether a specified flash mode is supported.\n         * Move to FlashQuery interface from Flash since 12.\n         *\n         * @param { FlashMode } flashMode - Flash mode\n         * @returns { boolean } Is the flash mode supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Checks whether a specified flash mode is supported.\n         * Move to FlashQuery interface from Flash since 12.\n         *\n         * @param { FlashMode } flashMode - Flash mode\n         * @returns { boolean } Is the flash mode supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isFlashModeSupported(flashMode: FlashMode): boolean;\n    }\n    /**\n     * Flash object.\n     *\n     * @extends FlashQuery\n     * @interface Flash\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Flash object.\n     *\n     * @extends FlashQuery\n     * @interface Flash\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Flash extends FlashQuery {\n        /**\n         * Gets current flash mode.\n         *\n         * @returns { FlashMode } The current flash mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets current flash mode.\n         *\n         * @returns { FlashMode } The current flash mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getFlashMode(): FlashMode;\n        /**\n         * Sets flash mode.\n         *\n         * @param { FlashMode } flashMode - Target flash mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Sets flash mode.\n         *\n         * @param { FlashMode } flashMode - Target flash mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setFlashMode(flashMode: FlashMode): void;\n    }\n    /**\n     * Enum for exposure mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for exposure mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum ExposureMode {\n        /**\n         * Lock exposure mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Lock exposure mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        EXPOSURE_MODE_LOCKED = 0,\n        /**\n         * Auto exposure mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Auto exposure mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        EXPOSURE_MODE_AUTO = 1,\n        /**\n         * Continuous automatic exposure.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Continuous automatic exposure.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        EXPOSURE_MODE_CONTINUOUS_AUTO = 2\n    }\n    /**\n     * AutoExposureQuery object.\n     *\n     * @interface AutoExposureQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * AutoExposureQuery object.\n     *\n     * @interface AutoExposureQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface AutoExposureQuery {\n        /**\n         * Checks whether a specified exposure mode is supported.\n         *\n         * @param { ExposureMode } aeMode - Exposure mode\n         * @returns { boolean } Is the exposure mode supported.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Checks whether a specified exposure mode is supported.\n         * Move to AutoExposureQuery interface from AutoExposure interface since 12.\n         *\n         * @param { ExposureMode } aeMode - Exposure mode\n         * @returns { boolean } Is the exposure mode supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Checks whether a specified exposure mode is supported.\n         * Move to AutoExposureQuery interface from AutoExposure interface since 12.\n         *\n         * @param { ExposureMode } aeMode - Exposure mode\n         * @returns { boolean } Is the exposure mode supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isExposureModeSupported(aeMode: ExposureMode): boolean;\n        /**\n         * Query the exposure compensation range.\n         *\n         * @returns { Array<number> } The array of compensation range.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Query the exposure compensation range.\n         * Move to AutoExposureQuery interface from AutoExposure interface since 12.\n         *\n         * @returns { Array<number> } The array of compensation range.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Query the exposure compensation range.\n         * Move to AutoExposureQuery interface from AutoExposure interface since 12.\n         *\n         * @returns { Array<number> } The array of compensation range.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getExposureBiasRange(): Array<number>;\n    }\n    /**\n     * AutoExposure object.\n     *\n     * @extends AutoExposureQuery\n     * @interface AutoExposure\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * AutoExposure object.\n     *\n     * @extends AutoExposureQuery\n     * @interface AutoExposure\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface AutoExposure extends AutoExposureQuery {\n        /**\n         * Gets current exposure mode.\n         *\n         * @returns { ExposureMode } The current exposure mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets current exposure mode.\n         *\n         * @returns { ExposureMode } The current exposure mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getExposureMode(): ExposureMode;\n        /**\n         * Sets Exposure mode.\n         *\n         * @param { ExposureMode } aeMode - Exposure mode\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Sets Exposure mode.\n         *\n         * @param { ExposureMode } aeMode - Exposure mode\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setExposureMode(aeMode: ExposureMode): void;\n        /**\n         * Gets current metering point.\n         *\n         * @returns { Point } The current metering point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets current metering point.\n         *\n         * @returns { Point } The current metering point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getMeteringPoint(): Point;\n        /**\n         * Set the center point of the metering area.\n         *\n         * @param { Point } point - metering point\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Set the center point of the metering area.\n         *\n         * @param { Point } point - metering point\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setMeteringPoint(point: Point): void;\n        /**\n         * Set exposure compensation.\n         *\n         * @param { number } exposureBias - Exposure compensation\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Set exposure compensation.\n         *\n         * @param { number } exposureBias - Exposure compensation\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Set exposure compensation.\n         *\n         * @param { number } exposureBias - Exposure compensation\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setExposureBias(exposureBias: number): void;\n        /**\n         * Query the exposure value.\n         *\n         * @returns { number } The exposure value.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Query the exposure value.\n         *\n         * @returns { number } The exposure value.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getExposureValue(): number;\n    }\n    /**\n     * Enum for focus mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for focus mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum FocusMode {\n        /**\n         * Manual mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Manual mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FOCUS_MODE_MANUAL = 0,\n        /**\n         * Continuous auto mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Continuous auto mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FOCUS_MODE_CONTINUOUS_AUTO = 1,\n        /**\n         * Auto mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Auto mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FOCUS_MODE_AUTO = 2,\n        /**\n         * Locked mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Locked mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FOCUS_MODE_LOCKED = 3\n    }\n    /**\n     * Enum for focus state.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for focus state.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum FocusState {\n        /**\n         * Scan state.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Scan state.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FOCUS_STATE_SCAN = 0,\n        /**\n         * Focused state.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Focused state.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FOCUS_STATE_FOCUSED = 1,\n        /**\n         * Unfocused state.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unfocused state.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FOCUS_STATE_UNFOCUSED = 2\n    }\n    /**\n     * Focus Query object.\n     *\n     * @interface FocusQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Focus Query object.\n     *\n     * @interface FocusQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface FocusQuery {\n        /**\n         * Checks whether a specified focus mode is supported.\n         *\n         * @param { FocusMode } afMode - Focus mode.\n         * @returns { boolean } Is the focus mode supported.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Checks whether a specified focus mode is supported.\n         * Move to FocusQuery interface from Focus interface since 12.\n         *\n         * @param { FocusMode } afMode - Focus mode.\n         * @returns { boolean } Is the focus mode supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Checks whether a specified focus mode is supported.\n         * Move to FocusQuery interface from Focus interface since 12.\n         *\n         * @param { FocusMode } afMode - Focus mode.\n         * @returns { boolean } Is the focus mode supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isFocusModeSupported(afMode: FocusMode): boolean;\n    }\n    /**\n     * Focus object.\n     *\n     * @extends FocusQuery\n     * @interface Focus\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Focus object.\n     *\n     * @extends FocusQuery\n     * @interface Focus\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Focus extends FocusQuery {\n        /**\n         * Gets current focus mode.\n         *\n         * @returns { FocusMode } The current focus mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets current focus mode.\n         *\n         * @returns { FocusMode } The current focus mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getFocusMode(): FocusMode;\n        /**\n         * Sets focus mode.\n         *\n         * @param { FocusMode } afMode - Target focus mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Sets focus mode.\n         *\n         * @param { FocusMode } afMode - Target focus mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setFocusMode(afMode: FocusMode): void;\n        /**\n         * Sets focus point.\n         *\n         * @param { Point } point - Target focus point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Sets focus point.\n         *\n         * @param { Point } point - Target focus point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setFocusPoint(point: Point): void;\n        /**\n         * Gets current focus point.\n         *\n         * @returns { Point } The current focus point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets current focus point.\n         *\n         * @returns { Point } The current focus point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getFocusPoint(): Point;\n        /**\n         * Gets current focal length.\n         *\n         * @returns { number } The current focal point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets current focal length.\n         *\n         * @returns { number } The current focal point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getFocalLength(): number;\n    }\n    \n    /**\n     * Enumerates the camera white balance modes.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 20\n     */\n    enum WhiteBalanceMode {\n        \n        /**\n         * Automatic white balance mode.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        AUTO = 0,\n        \n        /**\n         * Cloudy white balance mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        CLOUDY = 1,\n        \n        /**\n         * Incandescent white balance mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        INCANDESCENT = 2,\n        \n        /**\n         * Fluorescent white balance mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        FLUORESCENT = 3,\n        \n        /**\n         * Daylight white balance mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        DAYLIGHT = 4,\n        \n        /**\n         * Manual white balance mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        MANUAL = 5,\n        \n        /**\n         * Lock white balance mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        LOCKED = 6\n    }\n    \n    /**\n     * White Balance Query object.\n     * @interface WhiteBalanceQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 20\n     */\n    interface WhiteBalanceQuery {\n        \n        /**\n         * Checks whether the specified white balance mode is supported.\n         * @param { WhiteBalanceMode } mode White balance mode.\n         * @returns { boolean } Check result.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        isWhiteBalanceModeSupported(mode: WhiteBalanceMode): boolean;\n        \n        getWhiteBalanceRange(): Array<number>;\n    }\n    \n    /**\n     * WhiteBalance object.\n     * @extends WhiteBalanceQuery\n     * @interface WhiteBalance\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 20\n     */\n    interface WhiteBalance extends WhiteBalanceQuery {\n        \n        /**\n         * Obtains the white balance mode in use.\n         * @returns { WhiteBalanceMode } White balance mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 20\n         */\n        getWhiteBalanceMode(): WhiteBalanceMode;\n    }\n    /**\n     * Enum for smooth zoom mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Enum for smooth zoom mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum SmoothZoomMode {\n        /**\n         * Normal zoom mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Normal zoom mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        NORMAL = 0\n    }\n    /**\n     * SmoothZoomInfo object\n     *\n     * @typedef SmoothZoomInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * SmoothZoomInfo object\n     *\n     * @typedef SmoothZoomInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface SmoothZoomInfo {\n        /**\n         * The duration of smooth zoom.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * The duration of smooth zoom.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        duration: number;\n    }\n    /**\n     * Zoom query object.\n     *\n     * @interface ZoomQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Zoom query object.\n     *\n     * @interface ZoomQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface ZoomQuery {\n        /**\n         * Gets all supported zoom ratio range.\n         *\n         * @returns { Array<number> } The zoom ratio range.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets all supported zoom ratio range.\n         * Move to ZoomQuery interface from Zoom since 12.\n         *\n         * @returns { Array<number> } The zoom ratio range.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets all supported zoom ratio range.\n         * Move to ZoomQuery interface from Zoom since 12.\n         *\n         * @returns { Array<number> } The zoom ratio range.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getZoomRatioRange(): Array<number>;\n    }\n    /**\n     * Zoom object.\n     *\n     * @extends ZoomQuery\n     * @interface Zoom\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Zoom object.\n     *\n     * @extends ZoomQuery\n     * @interface Zoom\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Zoom extends ZoomQuery {\n        /**\n         * Gets zoom ratio.\n         *\n         * @returns { number } The zoom ratio value.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Gets zoom ratio.\n         *\n         * @returns { number } The zoom ratio value.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets zoom ratio.\n         *\n         * @returns { number } The zoom ratio value.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getZoomRatio(): number;\n        /**\n         * Sets zoom ratio.\n         *\n         * @param { number } zoomRatio - Target zoom ratio.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Sets zoom ratio.\n         *\n         * @param { number } zoomRatio - Target zoom ratio.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setZoomRatio(zoomRatio: number): void;\n        /**\n         * Sets target zoom ratio by smooth method.\n         *\n         * @param { number } targetRatio - Target zoom ratio.\n         * @param { SmoothZoomMode } mode - Smooth zoom mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Sets target zoom ratio by smooth method.\n         *\n         * @param { number } targetRatio - Target zoom ratio.\n         * @param { SmoothZoomMode } mode - Smooth zoom mode.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Sets target zoom ratio by smooth method.\n         *\n         * @param { number } targetRatio - Target zoom ratio.\n         * @param { SmoothZoomMode } mode - Smooth zoom mode.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setSmoothZoom(targetRatio: number, mode?: SmoothZoomMode): void;\n    }\n    /**\n     * Enum for video stabilization mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enum for video stabilization mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum VideoStabilizationMode {\n        /**\n         * Turn off video stablization.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Turn off video stablization.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        OFF = 0,\n        /**\n         * LOW mode provides basic stabilization effect.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * LOW mode provides basic stabilization effect.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        LOW = 1,\n        /**\n         * MIDDLE mode means algorithms can achieve better effects than LOW mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * MIDDLE mode means algorithms can achieve better effects than LOW mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        MIDDLE = 2,\n        /**\n         * HIGH mode means algorithms can achieve better effects than MIDDLE mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * HIGH mode means algorithms can achieve better effects than MIDDLE mode.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        HIGH = 3,\n        /**\n         * Camera HDF can select mode automatically.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Camera HDF can select mode automatically.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        AUTO = 4\n    }\n    /**\n     * Stabilization Query object.\n     *\n     * @interface StabilizationQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Stabilization Query object.\n     *\n     * @interface StabilizationQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface StabilizationQuery {\n        /**\n         * Check whether the specified video stabilization mode is supported.\n         *\n         * @param { VideoStabilizationMode } vsMode - Video Stabilization mode.\n         * @returns { boolean } Is video stabilization mode supported.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Check whether the specified video stabilization mode is supported.\n         * Move to StabilizationQuery interface from Stabilization since 12.\n         *\n         * @param { VideoStabilizationMode } vsMode - Video Stabilization mode.\n         * @returns { boolean } Is video stabilization mode supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Check whether the specified video stabilization mode is supported.\n         * Move to StabilizationQuery interface from Stabilization since 12.\n         *\n         * @param { VideoStabilizationMode } vsMode - Video Stabilization mode.\n         * @returns { boolean } Is video stabilization mode supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;\n    }\n    /**\n     * Stabilization object.\n     *\n     * @extends StabilizationQuery\n     * @interface Stabilization\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Stabilization object.\n     *\n     * @extends StabilizationQuery\n     * @interface Stabilization\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Stabilization extends StabilizationQuery {\n        /**\n         * Query the video stabilization mode currently in use.\n         *\n         * @returns { VideoStabilizationMode } The current video stabilization mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Query the video stabilization mode currently in use.\n         *\n         * @returns { VideoStabilizationMode } The current video stabilization mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getActiveVideoStabilizationMode(): VideoStabilizationMode;\n        /**\n         * Set video stabilization mode.\n         *\n         * @param { VideoStabilizationMode } mode - video stabilization mode to set.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Set video stabilization mode.\n         *\n         * @param { VideoStabilizationMode } mode - video stabilization mode to set.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setVideoStabilizationMode(mode: VideoStabilizationMode): void;\n    }\n    /**\n     * Color Management Query object.\n     *\n     * @interface ColorManagementQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Color Management Query object.\n     *\n     * @interface ColorManagementQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface ColorManagementQuery {\n        /**\n         * Gets the supported color space types.\n         *\n         * @returns { Array<colorSpaceManager.ColorSpace> } The array of the supported color space for the session.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets the supported color space types.\n         *\n         * @returns { Array<colorSpaceManager.ColorSpace> } The array of the supported color space for the session.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Gets the supported color space types.\n         *\n         * @returns { Array<colorSpaceManager.ColorSpace> } The array of the supported color space for the session.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedColorSpaces(): Array<colorSpaceManager.ColorSpace>;\n    }\n    /**\n     * Color Management object.\n     *\n     * @extends ColorManagementQuery\n     * @interface ColorManagement\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Color Management object.\n     *\n     * @extends ColorManagementQuery\n     * @interface ColorManagement\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface ColorManagement extends ColorManagementQuery {\n        /**\n         * Gets the specific color space type.\n         *\n         * @returns { colorSpaceManager.ColorSpace } Current color space.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets the specific color space type.\n         *\n         * @returns { colorSpaceManager.ColorSpace } Current color space.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getActiveColorSpace(): colorSpaceManager.ColorSpace;\n        /**\n         * Sets a color space for the session.\n         *\n         * @param { colorSpaceManager.ColorSpace } colorSpace - The type of color space.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - The colorSpace does not match the format.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Sets a color space for the session.\n         *\n         * @param { colorSpaceManager.ColorSpace } colorSpace - The type of color space.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - The colorSpace does not match the format.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setColorSpace(colorSpace: colorSpaceManager.ColorSpace): void;\n    }\n    /**\n     * Auto Device Switch Query object.\n     *\n     * @interface AutoDeviceSwitchQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 13\n     */\n    /**\n     * Auto Device Switch Query object.\n     *\n     * @interface AutoDeviceSwitchQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface AutoDeviceSwitchQuery {\n        /**\n         * Check whether auto device switch is supported.\n         *\n         * @returns { boolean } Is auto device switch supported.\n         * @throws { BusinessError } 7400103 - Session not config, only throw in session usage.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Check whether auto device switch is supported.\n         *\n         * @returns { boolean } Is auto device switch supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Check whether auto device switch is supported.\n         *\n         * @returns { boolean } Is auto device switch supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isAutoDeviceSwitchSupported(): boolean;\n    }\n    /**\n     * Auto Device Switch object.\n     *\n     * @extends AutoDeviceSwitchQuery\n     * @interface AutoDeviceSwitch\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 13\n     */\n    /**\n     * Auto Device Switch object.\n     *\n     * @extends AutoDeviceSwitchQuery\n     * @interface AutoDeviceSwitch\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface AutoDeviceSwitch extends AutoDeviceSwitchQuery {\n        /**\n         * Enable auto device switch for session.\n         *\n         * @param { boolean } enabled - enable auto device switch if TRUE.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         * 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types;\n         * 3. Parameters verification failed.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Enable auto device switch for session.\n         *\n         * @param { boolean } enabled - enable auto device switch if TRUE.\n         * @throws { BusinessError } 7400101 - Parameter error. Possible causes:\n         * 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types;\n         * 3. Parameters verification failed.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        enableAutoDeviceSwitch(enabled: boolean): void;\n    }\n    /**\n     * Auto Device Switch Status.\n     *\n     * @typedef AutoDeviceSwitchStatus\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 13\n     */\n    /**\n     * Auto Device Switch Status.\n     *\n     * @typedef AutoDeviceSwitchStatus\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface AutoDeviceSwitchStatus {\n        /**\n         * Notify whether device is switched.\n         *\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Notify whether device is switched.\n         *\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly isDeviceSwitched: boolean;\n        /**\n         * Notify whether device capability is changed.\n         *\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Notify whether device capability is changed.\n         *\n         * @type { boolean }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly isDeviceCapabilityChanged: boolean;\n    }\n    \n    /**\n     * Macro Query object.\n     *\n     * @interface MacroQuery\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface MacroQuery {\n        \n        \n        /**\n         * Determine whether camera macro is supported.\n         *\n         * @returns { boolean } Is camera macro supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isMacroSupported(): boolean;\n    }\n    \n    /**\n     * Macro object.\n     *\n     * @extends MacroQuery\n     * @interface Macro\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Macro extends MacroQuery {\n        \n        \n        /**\n         * Enable macro for camera.\n         *\n         * @param { boolean } enabled - enable macro for camera if TRUE.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        enableMacro(enabled: boolean): void;\n    }\n    /**\n     * Session object.\n     *\n     * @interface Session\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Session object.\n     *\n     * @interface Session\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Session {\n        /**\n         * Begin capture session config.\n         *\n         * @throws { BusinessError } 7400105 - Session config locked.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Begin capture session config.\n         *\n         * @throws { BusinessError } 7400105 - Session config locked.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Begin capture session config.\n         *\n         * @throws { BusinessError } 7400105 - Session config locked.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        beginConfig(): void;\n        /**\n         * Commit capture session config.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Commit capture session config.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        commitConfig(callback: AsyncCallback<void>): void;\n        /**\n         * Commit capture session config.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Commit capture session config.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        commitConfig(): Promise<void>;\n        /**\n         * Determines whether the camera input can be added into the session.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to add.\n         * @returns { boolean } You can add the input into the session.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Determines whether the camera input can be added into the session.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to add.\n         * @returns { boolean } You can add the input into the session.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        canAddInput(cameraInput: CameraInput): boolean;\n        /**\n         * Adds a camera input.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Adds a camera input.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Adds a camera input.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Adds a camera input.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        addInput(cameraInput: CameraInput): void;\n        /**\n         * Removes a camera input.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Removes a camera input.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Removes a camera input.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Removes a camera input.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraInput } cameraInput - Target camera input to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        removeInput(cameraInput: CameraInput): void;\n        /**\n         * Determines whether the camera output can be added into the session.\n         * This method is valid after Session.addInput(cameraInput) and before Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to add.\n         * @returns { boolean } You can add the output into the session.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Determines whether the camera output can be added into the session.\n         * This method is valid after Session.addInput(cameraInput) and before Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to add.\n         * @returns { boolean } You can add the output into the session.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        canAddOutput(cameraOutput: CameraOutput): boolean;\n        /**\n         * Adds a camera output.\n         * This method is valid after Session.addInput(cameraInput) and before Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Adds a camera output.\n         * This method is valid after Session.addInput(cameraInput) and before Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Adds a camera output.\n         * This method is valid after Session.addInput(cameraInput) and before Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Adds a camera output.\n         * This method is valid after Session.addInput(cameraInput) and before Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        addOutput(cameraOutput: CameraOutput): void;\n        /**\n         * Removes a camera output.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Removes a camera output.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Removes a camera output.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Removes a camera output.\n         * This method is valid between Session.beginConfig() and Session.commitConfig().\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        removeOutput(cameraOutput: CameraOutput): void;\n        /**\n         * Starts capture session.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Starts capture session.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Starts capture session.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        start(callback: AsyncCallback<void>): void;\n        /**\n         * Starts capture session.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Starts capture session.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Starts capture session.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        start(): Promise<void>;\n        /**\n         * Stops capture session.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Stops capture session.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        stop(callback: AsyncCallback<void>): void;\n        /**\n         * Stops capture session.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Stops capture session.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        stop(): Promise<void>;\n        /**\n         * Release capture session instance.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Release capture session instance.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        release(callback: AsyncCallback<void>): void;\n        /**\n         * Release capture session instance.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Release capture session instance.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        release(): Promise<void>;\n    }\n    /**\n     * Capture session object.\n     *\n     * @interface CaptureSession\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     * @deprecated since 11\n     * @useinstead ohos.multimedia.camera.VideoSession\n     */\n    interface CaptureSession {\n        /**\n         * Begin capture session config.\n         *\n         * @throws { BusinessError } 7400105 - Session config locked.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#beginConfig\n         */\n        beginConfig(): void;\n        /**\n         * Commit capture session config.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#commitConfig\n         */\n        commitConfig(callback: AsyncCallback<void>): void;\n        /**\n         * Commit capture session config.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#commitConfig\n         */\n        commitConfig(): Promise<void>;\n        /**\n         * Adds a camera input.\n         *\n         * @param { CameraInput } cameraInput - Target camera input to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#addInput\n         */\n        addInput(cameraInput: CameraInput): void;\n        /**\n         * Removes a camera input.\n         *\n         * @param { CameraInput } cameraInput - Target camera input to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#removeInput\n         */\n        removeInput(cameraInput: CameraInput): void;\n        /**\n         * Adds a camera output.\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to add.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#addOutput\n         */\n        addOutput(cameraOutput: CameraOutput): void;\n        /**\n         * Removes a camera output.\n         *\n         * @param { CameraOutput } cameraOutput - Target camera output to remove.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#removeOutput\n         */\n        removeOutput(cameraOutput: CameraOutput): void;\n        /**\n         * Starts capture session.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#start\n         */\n        start(callback: AsyncCallback<void>): void;\n        /**\n         * Starts capture session.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#start\n         */\n        start(): Promise<void>;\n        /**\n         * Stops capture session.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#stop\n         */\n        stop(callback: AsyncCallback<void>): void;\n        /**\n         * Stops capture session.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#stop\n         */\n        stop(): Promise<void>;\n        /**\n         * Release capture session instance.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#release\n         */\n        release(callback: AsyncCallback<void>): void;\n        /**\n         * Release capture session instance.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#release\n         */\n        release(): Promise<void>;\n        /**\n         * Check if device has flash light.\n         *\n         * @returns { boolean } The flash light support status.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Flash#hasFlash\n         */\n        hasFlash(): boolean;\n        /**\n         * Checks whether a specified flash mode is supported.\n         *\n         * @param { FlashMode } flashMode - Flash mode\n         * @returns { boolean } Is the flash mode supported.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Flash#isFlashModeSupported\n         */\n        isFlashModeSupported(flashMode: FlashMode): boolean;\n        /**\n         * Gets current flash mode.\n         *\n         * @returns { FlashMode } The current flash mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Flash#getFlashMode\n         */\n        getFlashMode(): FlashMode;\n        /**\n         * Sets flash mode.\n         *\n         * @param { FlashMode } flashMode - Target flash mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Flash#setFlashMode\n         */\n        setFlashMode(flashMode: FlashMode): void;\n        /**\n         * Checks whether a specified exposure mode is supported.\n         *\n         * @param { ExposureMode } aeMode - Exposure mode\n         * @returns { boolean } Is the exposure mode supported.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.AutoExposure#isExposureModeSupported\n         */\n        isExposureModeSupported(aeMode: ExposureMode): boolean;\n        /**\n         * Gets current exposure mode.\n         *\n         * @returns { ExposureMode } The current exposure mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.AutoExposure#getExposureMode\n         */\n        getExposureMode(): ExposureMode;\n        /**\n         * Sets Exposure mode.\n         *\n         * @param { ExposureMode } aeMode - Exposure mode\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.AutoExposure#setExposureMode\n         */\n        setExposureMode(aeMode: ExposureMode): void;\n        /**\n         * Gets current metering point.\n         *\n         * @returns { Point } The current metering point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.AutoExposure#getMeteringPoint\n         */\n        getMeteringPoint(): Point;\n        /**\n         * Set the center point of the metering area.\n         *\n         * @param { Point } point - metering point\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.AutoExposure#setMeteringPoint\n         */\n        setMeteringPoint(point: Point): void;\n        /**\n         * Query the exposure compensation range.\n         *\n         * @returns { Array<number> } The array of compensation range.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.AutoExposure#getExposureBiasRange\n         */\n        getExposureBiasRange(): Array<number>;\n        /**\n         * Set exposure compensation.\n         *\n         * @param { number } exposureBias - Exposure compensation\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.AutoExposure#setExposureBias\n         */\n        setExposureBias(exposureBias: number): void;\n        /**\n         * Query the exposure value.\n         *\n         * @returns { number } The exposure value.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.AutoExposure#getExposureValue\n         */\n        getExposureValue(): number;\n        /**\n         * Checks whether a specified focus mode is supported.\n         *\n         * @param { FocusMode } afMode - Focus mode.\n         * @returns { boolean } Is the focus mode supported.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Focus#isFocusModeSupported\n         */\n        isFocusModeSupported(afMode: FocusMode): boolean;\n        /**\n         * Gets current focus mode.\n         *\n         * @returns { FocusMode } The current focus mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Focus#getFocusMode\n         */\n        getFocusMode(): FocusMode;\n        /**\n         * Sets focus mode.\n         *\n         * @param { FocusMode } afMode - Target focus mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Focus#setFocusMode\n         */\n        setFocusMode(afMode: FocusMode): void;\n        /**\n         * Sets focus point.\n         *\n         * @param { Point } point - Target focus point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Focus#setFocusPoint\n         */\n        setFocusPoint(point: Point): void;\n        /**\n         * Gets current focus point.\n         *\n         * @returns { Point } The current focus point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Focus#getFocusPoint\n         */\n        getFocusPoint(): Point;\n        /**\n         * Gets current focal length.\n         *\n         * @returns { number } The current focal point.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Focus#getFocalLength\n         */\n        getFocalLength(): number;\n        /**\n         * Gets all supported zoom ratio range.\n         *\n         * @returns { Array<number> } The zoom ratio range.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Zoom#getZoomRatioRange\n         */\n        getZoomRatioRange(): Array<number>;\n        /**\n         * Gets zoom ratio.\n         *\n         * @returns { number } The zoom ratio value.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Zoom#getZoomRatio\n         */\n        getZoomRatio(): number;\n        /**\n         * Sets zoom ratio.\n         *\n         * @param { number } zoomRatio - Target zoom ratio.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Zoom#setZoomRatio\n         */\n        setZoomRatio(zoomRatio: number): void;\n        /**\n         * Check whether the specified video stabilization mode is supported.\n         *\n         * @param { VideoStabilizationMode } vsMode - Video Stabilization mode.\n         * @returns { boolean } Is flash mode supported.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Stabilization#isVideoStabilizationModeSupported\n         */\n        isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;\n        /**\n         * Query the video stabilization mode currently in use.\n         *\n         * @returns { VideoStabilizationMode } The current video stabilization mode.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Stabilization#getActiveVideoStabilizationMode\n         */\n        getActiveVideoStabilizationMode(): VideoStabilizationMode;\n        /**\n         * Set video stabilization mode.\n         *\n         * @param { VideoStabilizationMode } mode - video stabilization mode to set.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Stabilization#setVideoStabilizationMode\n         */\n        setVideoStabilizationMode(mode: VideoStabilizationMode): void;\n        /**\n         * Subscribes focus status change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.VideoSession#on\n         */\n        on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void;\n        /**\n         * Unsubscribes from focus status change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.VideoSession#off\n         */\n        off(type: 'focusStateChange', callback?: AsyncCallback<FocusState>): void;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.VideoSession#on\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.VideoSession#off\n         */\n        off(type: 'error', callback?: ErrorCallback): void;\n    }\n    /**\n     * Types of preconfig, which used to configure session conveniently.\n     * Preconfig type contains common use cases of camera output.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Types of preconfig, which used to configure session conveniently.\n     * Preconfig type contains common use cases of camera output.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum PreconfigType {\n        /**\n         * 720P output for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * 720P output for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        PRECONFIG_720P = 0,\n        /**\n         * 1080P output for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * 1080P output for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        PRECONFIG_1080P = 1,\n        /**\n         * 4K output for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * 4K output for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        PRECONFIG_4K = 2,\n        /**\n         * high quality output for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * high quality output for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        PRECONFIG_HIGH_QUALITY = 3\n    }\n    /**\n     * The aspect ratios of preconfig, which used to configure session conveniently.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * The aspect ratios of preconfig, which used to configure session conveniently.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum PreconfigRatio {\n        /**\n         * Aspect ratio 1:1 for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Aspect ratio 1:1 for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        PRECONFIG_RATIO_1_1 = 0,\n        /**\n         * Aspect ratio 4:3 for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Aspect ratio 4:3 for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        PRECONFIG_RATIO_4_3 = 1,\n        /**\n         * Aspect ratio 16:9 for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Aspect ratio 16:9 for preconfig.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        PRECONFIG_RATIO_16_9 = 2\n    }\n    /**\n     * Photo session object.\n     *\n     * @extends Session, Flash, AutoExposure, Focus, Zoom, ColorManagement\n     * @interface PhotoSession\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Photo session object.\n     * @extends Session, Flash, AutoExposure, Focus, Zoom, ColorManagement, AutoDeviceSwitch\n     * @interface PhotoSession\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 13\n     */\n    /**\n     * Photo session object.\n     * @extends Session, Flash, AutoExposure, Focus, Zoom, ColorManagement, AutoDeviceSwitch, Macro\n     * @interface PhotoSession\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface PhotoSession extends Session, Flash, AutoExposure, Focus, Zoom, ColorManagement, AutoDeviceSwitch, Macro {\n        /**\n         * Gets whether the choosed preconfig type can be used to configure photo session.\n         * Must choose preconfig type from {@link PreconfigType}.\n         *\n         * @param { PreconfigType } preconfigType - preconfig type.\n         * @param { PreconfigRatio } preconfigRatio - the aspect ratio of surface for preconfig,\n         *                                            default value {@link PreconfigRatio#PRECONFIG_RATIO_4_3}.\n         * @returns { boolean } Whether the choosed preconfig type can be used.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets whether the choosed preconfig type can be used to configure photo session.\n         * Must choose preconfig type from {@link PreconfigType}.\n         *\n         * @param { PreconfigType } preconfigType - preconfig type.\n         * @param { PreconfigRatio } preconfigRatio - the aspect ratio of surface for preconfig,\n         *                                            default value {@link PreconfigRatio#PRECONFIG_RATIO_4_3}.\n         * @returns { boolean } Whether the choosed preconfig type can be used.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        canPreconfig(preconfigType: PreconfigType, preconfigRatio?: PreconfigRatio): boolean;\n        /**\n         * Configure photo session with the preconfig type.\n         * Must choose preconfig type from {@link PreconfigType}.\n         *\n         * @param { PreconfigType } preconfigType - preconfig type.\n         * @param { PreconfigRatio } preconfigRatio - the aspect ratio of surface for preconfig,\n         *                                            default value {@link PreconfigRatio#PRECONFIG_RATIO_4_3}\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Configure photo session with the preconfig type.\n         * Must choose preconfig type from {@link PreconfigType}.\n         *\n         * @param { PreconfigType } preconfigType - preconfig type.\n         * @param { PreconfigRatio } preconfigRatio - the aspect ratio of surface for preconfig,\n         *                                            default value {@link PreconfigRatio#PRECONFIG_RATIO_4_3}\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        preconfig(preconfigType: PreconfigType, preconfigRatio?: PreconfigRatio): void;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'error', callback?: ErrorCallback): void;\n        /**\n         * Subscribes focus state change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes focus state change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void;\n        /**\n         * Unsubscribes from focus state change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes from focus state change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'focusStateChange', callback?: AsyncCallback<FocusState>): void;\n        /**\n         * Subscribes zoom info event callback.\n         *\n         * @param { 'smoothZoomInfoAvailable' } type - Event type.\n         * @param { AsyncCallback<SmoothZoomInfo> } callback - Callback used to get the zoom info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes zoom info event callback.\n         *\n         * @param { 'smoothZoomInfoAvailable' } type - Event type.\n         * @param { AsyncCallback<SmoothZoomInfo> } callback - Callback used to get the zoom info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'smoothZoomInfoAvailable', callback: AsyncCallback<SmoothZoomInfo>): void;\n        /**\n         * Unsubscribes from zoom info event callback.\n         *\n         * @param { 'smoothZoomInfoAvailable' } type - Event type.\n         * @param { AsyncCallback<SmoothZoomInfo> } callback - Callback used to get the zoom info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes from zoom info event callback.\n         *\n         * @param { 'smoothZoomInfoAvailable' } type - Event type.\n         * @param { AsyncCallback<SmoothZoomInfo> } callback - Callback used to get the zoom info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'smoothZoomInfoAvailable', callback?: AsyncCallback<SmoothZoomInfo>): void;\n        /**\n         * Subscribes to auto device switch status event callback.\n         *\n         * @param { 'autoDeviceSwitchStatusChange' } type - Event type.\n         * @param { AsyncCallback<AutoDeviceSwitchStatus> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Subscribes to auto device switch status event callback.\n         *\n         * @param { 'autoDeviceSwitchStatusChange' } type - Event type.\n         * @param { AsyncCallback<AutoDeviceSwitchStatus> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'autoDeviceSwitchStatusChange', callback: AsyncCallback<AutoDeviceSwitchStatus>): void;\n        /**\n         * Unsubscribes to auto device switch status event callback.\n         *\n         * @param { 'autoDeviceSwitchStatusChange' } type - Event type.\n         * @param { AsyncCallback<AutoDeviceSwitchStatus> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Unsubscribes to auto device switch status event callback.\n         *\n         * @param { 'autoDeviceSwitchStatusChange' } type - Event type.\n         * @param { AsyncCallback<AutoDeviceSwitchStatus> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'autoDeviceSwitchStatusChange', callback?: AsyncCallback<AutoDeviceSwitchStatus>): void;\n    }\n    /**\n     * Enum for quality prioritization.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 14\n     */\n    /**\n     * Enum for quality prioritization.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum QualityPrioritization {\n        /**\n         * High quality priority.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 14\n         */\n        /**\n         * High quality priority.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        HIGH_QUALITY = 0,\n        /**\n         * Power balance priority.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 14\n         */\n        /**\n         * Power balance priority.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        POWER_BALANCE = 1\n    }\n    /**\n     * Video session object.\n     *\n     * @extends Session, Flash, AutoExposure, Focus, Zoom, Stabilization, ColorManagement\n     * @interface VideoSession\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Video session object.\n     *\n     * @interface VideoSession\n     * @extends AutoDeviceSwitch\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 13\n     */\n    /**\n     * Video session object.\n     *\n     * @extends Session, Flash, AutoExposure, Focus, Zoom, Stabilization, ColorManagement, AutoDeviceSwitch, Macro\n     * @interface VideoSession\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface VideoSession extends Session, Flash, AutoExposure, Focus, Zoom, Stabilization, ColorManagement, AutoDeviceSwitch, Macro {\n        /**\n         * Gets whether the choosed preconfig type can be used to configure video session.\n         * Must choose preconfig type from {@link PreconfigType}.\n         *\n         * @param { PreconfigType } preconfigType - preconfig type.\n         * @param { PreconfigRatio } preconfigRatio - the aspect ratio of surface for preconfig,\n         *                                            default value {@link PreconfigRatio#PRECONFIG_RATIO_16_9}.\n         * @returns { boolean } Whether the choosed preconfig type can be used.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets whether the choosed preconfig type can be used to configure video session.\n         * Must choose preconfig type from {@link PreconfigType}.\n         *\n         * @param { PreconfigType } preconfigType - preconfig type.\n         * @param { PreconfigRatio } preconfigRatio - the aspect ratio of surface for preconfig,\n         *                                            default value {@link PreconfigRatio#PRECONFIG_RATIO_16_9}.\n         * @returns { boolean } Whether the choosed preconfig type can be used.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        canPreconfig(preconfigType: PreconfigType, preconfigRatio?: PreconfigRatio): boolean;\n        /**\n         * Configure video session with the preconfig type.\n         * Must choose preconfig type from {@link PreconfigType}.\n         *\n         * @param { PreconfigType } preconfigType - preconfig type.\n         * @param { PreconfigRatio } preconfigRatio - the aspect ratio of surface for preconfig,\n         *                                            default value {@link PreconfigRatio#PRECONFIG_RATIO_16_9}.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Configure video session with the preconfig type.\n         * Must choose preconfig type from {@link PreconfigType}.\n         *\n         * @param { PreconfigType } preconfigType - preconfig type.\n         * @param { PreconfigRatio } preconfigRatio - the aspect ratio of surface for preconfig,\n         *                                            default value {@link PreconfigRatio#PRECONFIG_RATIO_16_9}.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        preconfig(preconfigType: PreconfigType, preconfigRatio?: PreconfigRatio): void;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'error', callback?: ErrorCallback): void;\n        /**\n         * Subscribes focus state change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes focus state change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void;\n        /**\n         * Unsubscribes from focus state change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes from focus state change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'focusStateChange', callback?: AsyncCallback<FocusState>): void;\n        /**\n         * Subscribes zoom info event callback.\n         *\n         * @param { 'smoothZoomInfoAvailable' } type - Event type.\n         * @param { AsyncCallback<SmoothZoomInfo> } callback - Callback used to get the zoom info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes zoom info event callback.\n         *\n         * @param { 'smoothZoomInfoAvailable' } type - Event type.\n         * @param { AsyncCallback<SmoothZoomInfo> } callback - Callback used to get the zoom info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'smoothZoomInfoAvailable', callback: AsyncCallback<SmoothZoomInfo>): void;\n        /**\n         * Unsubscribes from zoom info event callback.\n         *\n         * @param { 'smoothZoomInfoAvailable' } type - Event type.\n         * @param { AsyncCallback<SmoothZoomInfo> } callback - Callback used to get the zoom info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes from zoom info event callback.\n         *\n         * @param { 'smoothZoomInfoAvailable' } type - Event type.\n         * @param { AsyncCallback<SmoothZoomInfo> } callback - Callback used to get the zoom info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'smoothZoomInfoAvailable', callback?: AsyncCallback<SmoothZoomInfo>): void;\n        /**\n         * Subscribes to auto device switch status event callback.\n         *\n         * @param { 'autoDeviceSwitchStatusChange' } type - Event type.\n         * @param { AsyncCallback<AutoDeviceSwitchStatus> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Subscribes to auto device switch status event callback.\n         *\n         * @param { 'autoDeviceSwitchStatusChange' } type - Event type.\n         * @param { AsyncCallback<AutoDeviceSwitchStatus> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'autoDeviceSwitchStatusChange', callback: AsyncCallback<AutoDeviceSwitchStatus>): void;\n        /**\n         * Unsubscribes to auto device switch status event callback.\n         *\n         * @param { 'autoDeviceSwitchStatusChange' } type - Event type.\n         * @param { AsyncCallback<AutoDeviceSwitchStatus> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Unsubscribes to auto device switch status event callback.\n         *\n         * @param { 'autoDeviceSwitchStatusChange' } type - Event type.\n         * @param { AsyncCallback<AutoDeviceSwitchStatus> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'autoDeviceSwitchStatusChange', callback?: AsyncCallback<AutoDeviceSwitchStatus>): void;\n        /**\n         * Sets quality prioritization.\n         * Setting to power balance reduces video quality to conserve power, suitable for long-duration recordings where\n         * video quality is less critical.\n         *\n         * @param { QualityPrioritization } quality - Target quality prioritization, with a default of HIGH_QUALITY.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         * 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types;\n         * 3. Parameter verification failed.\n         * @throws { BusinessError } 7400103 - Session not config. The session has not been committed or configured.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 14\n         */\n        /**\n         * Sets quality prioritization.\n         * Setting to power balance reduces video quality to conserve power, suitable for long-duration recordings where\n         * video quality is less critical.\n         *\n         * @param { QualityPrioritization } quality - Target quality prioritization, with a default of HIGH_QUALITY.\n         * @throws { BusinessError } 401 - Parameter error. Possible causes:\n         * 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types;\n         * 3. Parameter verification failed.\n         * @throws { BusinessError } 7400103 - Session not config. The session has not been committed or configured.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setQualityPrioritization(quality: QualityPrioritization): void;\n    }\n    /**\n     * Secure camera session object.\n     *\n     * @extends Session, Flash, AutoExposure, Focus, Zoom\n     * @interface SecureSession\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Secure camera session object.\n     *\n     * @extends Session, Flash, AutoExposure, Focus, Zoom\n     * @interface SecureSession\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface SecureSession extends Session, Flash, AutoExposure, Focus, Zoom {\n        /**\n         * Add Secure output for camera.\n         *\n         * @param { PreviewOutput } previewOutput - Specify the output as a secure flow.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Add Secure output for camera.\n         *\n         * @param { PreviewOutput } previewOutput - Specify the output as a secure flow.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Add Secure output for camera.\n         *\n         * @param { PreviewOutput } previewOutput - Specify the output as a secure flow.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400102 - Operation not allowed.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        addSecureOutput(previewOutput: PreviewOutput): void;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the capture session errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'error', callback?: ErrorCallback): void;\n        /**\n         * Subscribes focus status change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Subscribes focus status change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'focusStateChange', callback: AsyncCallback<FocusState>): void;\n        /**\n         * Unsubscribes from focus status change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Unsubscribes from focus status change event callback.\n         *\n         * @param { 'focusStateChange' } type - Event type.\n         * @param { AsyncCallback<FocusState> } callback - Callback used to get the focus state change.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'focusStateChange', callback?: AsyncCallback<FocusState>): void;\n    }\n    /**\n     * Camera output object.\n     *\n     * @interface CameraOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Camera output object.\n     *\n     * @interface CameraOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CameraOutput {\n        /**\n         * Release output instance.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Release output instance.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        release(callback: AsyncCallback<void>): void;\n        /**\n         * Release output instance.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Release output instance.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        release(): Promise<void>;\n    }\n    /**\n     * Preview output object.\n     *\n     * @extends CameraOutput\n     * @interface PreviewOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Preview output object.\n     *\n     * @extends CameraOutput\n     * @interface PreviewOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface PreviewOutput extends CameraOutput {\n        /**\n         * Start output instance.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#start\n         */\n        start(callback: AsyncCallback<void>): void;\n        /**\n         * Start output instance.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#start\n         */\n        start(): Promise<void>;\n        /**\n         * Stop output instance.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#stop\n         */\n        stop(callback: AsyncCallback<void>): void;\n        /**\n         * Stop output instance.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.Session#stop\n         */\n        stop(): Promise<void>;\n        /**\n         * Subscribes frame start event callback.\n         *\n         * @param { 'frameStart' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes frame start event callback.\n         *\n         * @param { 'frameStart' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'frameStart', callback: AsyncCallback<void>): void;\n        /**\n         * Unsubscribes from frame start event callback.\n         *\n         * @param { 'frameStart' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from frame start event callback.\n         *\n         * @param { 'frameStart' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'frameStart', callback?: AsyncCallback<void>): void;\n        /**\n         * Subscribes frame end event callback.\n         *\n         * @param { 'frameEnd' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes frame end event callback.\n         *\n         * @param { 'frameEnd' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'frameEnd', callback: AsyncCallback<void>): void;\n        /**\n         * Unsubscribes from frame end event callback.\n         *\n         * @param { 'frameEnd' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from frame end event callback.\n         *\n         * @param { 'frameEnd' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'frameEnd', callback?: AsyncCallback<void>): void;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the preview output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the preview output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the preview output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the preview output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'error', callback?: ErrorCallback): void;\n        /**\n         * Get supported frame rates which can be set during session running.\n         *\n         * @returns { Array<FrameRateRange> } The array of supported frame rate range.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Get supported frame rates which can be set during session running.\n         *\n         * @returns { Array<FrameRateRange> } The array of supported frame rate range.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedFrameRates(): Array<FrameRateRange>;\n        /**\n         * Set a frame rate range.\n         *\n         * @param { number } minFps - Minimum frame rate per second.\n         * @param { number } maxFps - Maximum frame rate per second.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400110 - Unresolved conflicts with current configurations.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Set a frame rate range.\n         *\n         * @param { number } minFps - Minimum frame rate per second.\n         * @param { number } maxFps - Maximum frame rate per second.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400110 - Unresolved conflicts with current configurations.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setFrameRate(minFps: number, maxFps: number): void;\n        /**\n         * Get active frame rate range which has been set before.\n         *\n         * @returns { FrameRateRange } The active frame rate range.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Get active frame rate range which has been set before.\n         *\n         * @returns { FrameRateRange } The active frame rate range.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getActiveFrameRate(): FrameRateRange;\n        /**\n         * Gets the current preconfig type if you had already call preconfig interface.\n         *\n         * @returns { Profile } The current preconfig type.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets the current preconfig type if you had already call preconfig interface.\n         *\n         * @returns { Profile } The current preconfig type.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getActiveProfile(): Profile;\n        /**\n         * Gets the preview rotation angle.\n         *\n         * @param { number } displayRotation - The current display rotation angle.\n         * @returns { ImageRotation } The preview rotation angle.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets the preview rotation angle.\n         *\n         * @param { number } displayRotation - The current display rotation angle.\n         * @returns { ImageRotation } The preview rotation angle.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getPreviewRotation(displayRotation: number): ImageRotation;\n        /**\n         * Sets the preview rotation angle.\n         *\n         * @param { ImageRotation } previewRotation - Preview display rotation angle.\n         * @param { boolean } isDisplayLocked - TRUE means the display is locked, if not set, the default is FALSE.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Sets the preview rotation angle.\n         *\n         * @param { ImageRotation } previewRotation - Preview display rotation angle.\n         * @param { boolean } isDisplayLocked - TRUE means the display is locked, if not set, the default is FALSE.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setPreviewRotation(previewRotation: ImageRotation, isDisplayLocked?: boolean): void;\n    }\n    /**\n     * Enumerates the image rotation angles.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enumerates the image rotation angles.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum ImageRotation {\n        /**\n         * The capture image rotates 0 degrees.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * The capture image rotates 0 degrees.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        ROTATION_0 = 0,\n        /**\n         * The capture image rotates 90 degrees.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * The capture image rotates 90 degrees.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        ROTATION_90 = 90,\n        /**\n         * The capture image rotates 180 degrees.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * The capture image rotates 180 degrees.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        ROTATION_180 = 180,\n        /**\n         * The capture image rotates 270 degrees.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * The capture image rotates 270 degrees.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        ROTATION_270 = 270\n    }\n    /**\n     * Photo capture location\n     *\n     * @typedef Location\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Photo capture location\n     *\n     * @typedef Location\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Location {\n        /**\n         * Latitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Latitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        latitude: number;\n        /**\n         * Longitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Longitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        longitude: number;\n        /**\n         * Altitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Altitude.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        altitude: number;\n    }\n    /**\n     * Enumerates the image quality levels.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Enumerates the image quality levels.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum QualityLevel {\n        /**\n         * High image quality.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * High image quality.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        QUALITY_LEVEL_HIGH = 0,\n        /**\n         * Medium image quality.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Medium image quality.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        QUALITY_LEVEL_MEDIUM = 1,\n        /**\n         * Low image quality.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Low image quality.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        QUALITY_LEVEL_LOW = 2\n    }\n    /**\n     * Photo capture options to set.\n     *\n     * @typedef PhotoCaptureSetting\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Photo capture options to set.\n     *\n     * @typedef PhotoCaptureSetting\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface PhotoCaptureSetting {\n        /**\n         * Photo image quality.\n         *\n         * @type { ?QualityLevel }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Photo image quality.\n         *\n         * @type { ?QualityLevel }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        quality?: QualityLevel;\n        /**\n         * Photo rotation.\n         *\n         * @type { ?ImageRotation }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Photo rotation.\n         *\n         * @type { ?ImageRotation }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        rotation?: ImageRotation;\n        /**\n         * Photo location.\n         *\n         * @type { ?Location }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Photo location.\n         *\n         * @type { ?Location }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        location?: Location;\n        /**\n         * Set the mirror photo function switch, default to false.\n         *\n         * @type { ?boolean }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Set the mirror photo function switch, default to false.\n         *\n         * @type { ?boolean }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        mirror?: boolean;\n    }\n    /**\n     * Photo object\n     *\n     * @typedef Photo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Photo object\n     *\n     * @typedef Photo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Photo {\n        /**\n         * Main image.\n         *\n         * @type { image.Image }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Main image.\n         *\n         * @type { image.Image }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        main: image.Image;\n        /**\n         * Release Photo object.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Release Photo object.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        release(): Promise<void>;\n    }\n    /**\n     * Enumerates the camera video codec type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 13\n     */\n    /**\n     * Enumerates the camera video codec type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum VideoCodecType {\n        /**\n         * Codec type AVC.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Codec type AVC.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        AVC = 0,\n        /**\n         * Codec type HEVC.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Codec type HEVC.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        HEVC = 1\n    }\n    /**\n     * Photo output object.\n     *\n     * @extends CameraOutput\n     * @interface PhotoOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Photo output object.\n     *\n     * @extends CameraOutput\n     * @interface PhotoOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface PhotoOutput extends CameraOutput {\n        /**\n         * Start capture output.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Start capture output.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        capture(callback: AsyncCallback<void>): void;\n        /**\n         * Start capture output.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Start capture output.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        capture(): Promise<void>;\n        /**\n         * Start capture output.\n         *\n         * @param { PhotoCaptureSetting } setting - Photo capture settings.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Start capture output.\n         *\n         * @param { PhotoCaptureSetting } setting - Photo capture settings.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        capture(setting: PhotoCaptureSetting, callback: AsyncCallback<void>): void;\n        /**\n         * Start capture output.\n         *\n         * @param { PhotoCaptureSetting } setting - Photo capture settings.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Start capture output.\n         * Remove optional param.\n         *\n         * @param { PhotoCaptureSetting } setting - Photo capture settings.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Start capture output.\n         * Remove optional param.\n         *\n         * @param { PhotoCaptureSetting } setting - Photo capture settings.\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400104 - Session not running.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        capture(setting: PhotoCaptureSetting): Promise<void>;\n        /**\n         * Get supported moving photo video codec types.\n         *\n         * @returns { Array<VideoCodecType> } An array of supported video codec types for moving photo.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Get supported moving photo video codec types.\n         *\n         * @returns { Array<VideoCodecType> } An array of supported video codec types for moving photo.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedMovingPhotoVideoCodecTypes(): Array<VideoCodecType>;\n        /**\n         * Sets codec type for moving photo, default to AVC.\n         *\n         * @param { VideoCodecType } codecType - Codec type for moving photo.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Sets codec type for moving photo, default to AVC.\n         *\n         * @param { VideoCodecType } codecType - Codec type for moving photo.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setMovingPhotoVideoCodecType(codecType: VideoCodecType): void;\n        /**\n         * Subscribes photo available event callback.\n         *\n         * @param { 'photoAvailable' } type - Event type.\n         * @param { AsyncCallback<Photo> } callback - Callback used to get the Photo.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes photo available event callback.\n         *\n         * @param { 'photoAvailable' } type - Event type.\n         * @param { AsyncCallback<Photo> } callback - Callback used to get the Photo.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'photoAvailable', callback: AsyncCallback<Photo>): void;\n        /**\n         * Unsubscribes photo available event callback.\n         *\n         * @param { 'photoAvailable' } type - Event type.\n         * @param { AsyncCallback<Photo> } callback - Callback used to get the Photo.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes photo available event callback.\n         *\n         * @param { 'photoAvailable' } type - Event type.\n         * @param { AsyncCallback<Photo> } callback - Callback used to get the Photo.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'photoAvailable', callback?: AsyncCallback<Photo>): void;\n        /**\n         * Subscribes to photo asset event callback.\n         *\n         * <p>This API processes deferred photo delivery data by quickly displaying low-quality images to give\n         * users the impression of faster photo capture, while also generating high-quality images to maintain the\n         * final output quality. For details about the design specifications, see {@link\n         * https://developer.huawei.com/consumer/en/doc/best-practices/bpta-camera-shot2see}. </p>\n         * @param { 'photoAssetAvailable' } type - Event type.\n         * @param { AsyncCallback<photoAccessHelper.PhotoAsset> } callback - Callback used to get the asset.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Subscribes to photo asset event callback.\n         *\n         * <p>This API processes deferred photo delivery data by quickly displaying low-quality images to give\n         * users the impression of faster photo capture, while also generating high-quality images to maintain the\n         * final output quality. For details about the design specifications, see {@link\n         * https://developer.huawei.com/consumer/en/doc/best-practices/bpta-camera-shot2see}. </p>\n         * @param { 'photoAssetAvailable' } type - Event type.\n         * @param { AsyncCallback<photoAccessHelper.PhotoAsset> } callback - Callback used to get the asset.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'photoAssetAvailable', callback: AsyncCallback<photoAccessHelper.PhotoAsset>): void;\n        /**\n         * Unsubscribes photo asset event callback.\n         *\n         * @param { 'photoAssetAvailable' } type - Event type.\n         * @param { AsyncCallback<photoAccessHelper.PhotoAsset> } callback - Callback used to get the asset.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Unsubscribes photo asset event callback.\n         *\n         * @param { 'photoAssetAvailable' } type - Event type.\n         * @param { AsyncCallback<photoAccessHelper.PhotoAsset> } callback - Callback used to get the asset.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'photoAssetAvailable', callback?: AsyncCallback<photoAccessHelper.PhotoAsset>): void;\n        /**\n         * Check whether to support mirror photo.\n         *\n         * @returns { boolean } Is the mirror supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Check whether to support mirror photo.\n         *\n         * @returns { boolean } Is the mirror supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isMirrorSupported(): boolean;\n        /**\n         * Enable mirror for photo capture.\n         *\n         * @param { boolean } enabled - enable photo mirror if TRUE.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 13\n         */\n        /**\n         * Enable mirror for photo capture.\n         *\n         * @param { boolean } enabled - enable photo mirror if TRUE.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        enableMirror(enabled: boolean): void;\n        /**\n         * Subscribes capture start event callback.\n         *\n         * @param { 'captureStart' } type - Event type.\n         * @param { AsyncCallback<number> } callback - Callback used to get the capture ID.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.PhotoOutput#captureStartWithInfo\n         */\n        on(type: 'captureStart', callback: AsyncCallback<number>): void;\n        /**\n         * Unsubscribes from capture start event callback.\n         *\n         * @param { 'captureStart' } type - Event type.\n         * @param { AsyncCallback<number> } callback - Callback used to get the capture ID.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         * @deprecated since 11\n         * @useinstead ohos.multimedia.camera.PhotoOutput#captureStartWithInfo\n         */\n        off(type: 'captureStart', callback?: AsyncCallback<number>): void;\n        /**\n         * Subscribes capture start event callback.\n         *\n         * @param { 'captureStartWithInfo' } type - Event type.\n         * @param { AsyncCallback<CaptureStartInfo> } callback - Callback used to get the capture start info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Subscribes capture start event callback.\n         *\n         * @param { 'captureStartWithInfo' } type - Event type.\n         * @param { AsyncCallback<CaptureStartInfo> } callback - Callback used to get the capture start info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'captureStartWithInfo', callback: AsyncCallback<CaptureStartInfo>): void;\n        /**\n         * Unsubscribes from capture start event callback.\n         *\n         * @param { 'captureStartWithInfo' } type - Event type.\n         * @param { AsyncCallback<CaptureStartInfo> } callback - Callback used to get the capture start info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Unsubscribes from capture start event callback.\n         *\n         * @param { 'captureStartWithInfo' } type - Event type.\n         * @param { AsyncCallback<CaptureStartInfo> } callback - Callback used to get the capture start info.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'captureStartWithInfo', callback?: AsyncCallback<CaptureStartInfo>): void;\n        /**\n         * Subscribes frame shutter event callback.\n         *\n         * @param { 'frameShutter' } type - Event type.\n         * @param { AsyncCallback<FrameShutterInfo> } callback - Callback used to get the frame shutter information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes frame shutter event callback.\n         *\n         * @param { 'frameShutter' } type - Event type.\n         * @param { AsyncCallback<FrameShutterInfo> } callback - Callback used to get the frame shutter information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'frameShutter', callback: AsyncCallback<FrameShutterInfo>): void;\n        /**\n         * Unsubscribes from frame shutter event callback.\n         *\n         * @param { 'frameShutter' } type - Event type.\n         * @param { AsyncCallback<FrameShutterInfo> } callback - Callback used to get the frame shutter information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from frame shutter event callback.\n         *\n         * @param { 'frameShutter' } type - Event type.\n         * @param { AsyncCallback<FrameShutterInfo> } callback - Callback used to get the frame shutter information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'frameShutter', callback?: AsyncCallback<FrameShutterInfo>): void;\n        /**\n         * Subscribes frame shutter end event callback.\n         *\n         * @param { 'frameShutterEnd' } type - Event type.\n         * @param { AsyncCallback<FrameShutterEndInfo> } callback - Callback used to get the frame shutter end information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Subscribes frame shutter end event callback.\n         *\n         * @param { 'frameShutterEnd' } type - Event type.\n         * @param { AsyncCallback<FrameShutterEndInfo> } callback - Callback used to get the frame shutter end information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'frameShutterEnd', callback: AsyncCallback<FrameShutterEndInfo>): void;\n        /**\n         * Unsubscribes from frame shutter end event callback.\n         *\n         * @param { 'frameShutterEnd' } type - Event type.\n         * @param { AsyncCallback<FrameShutterEndInfo> } callback - Callback used to get the frame shutter end information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Unsubscribes from frame shutter end event callback.\n         *\n         * @param { 'frameShutterEnd' } type - Event type.\n         * @param { AsyncCallback<FrameShutterEndInfo> } callback - Callback used to get the frame shutter end information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'frameShutterEnd', callback?: AsyncCallback<FrameShutterEndInfo>): void;\n        /**\n         * Subscribes capture end event callback.\n         *\n         * @param { 'captureEnd' } type - Event type.\n         * @param { AsyncCallback<CaptureEndInfo> } callback - Callback used to get the capture end information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes capture end event callback.\n         *\n         * @param { 'captureEnd' } type - Event type.\n         * @param { AsyncCallback<CaptureEndInfo> } callback - Callback used to get the capture end information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'captureEnd', callback: AsyncCallback<CaptureEndInfo>): void;\n        /**\n         * Unsubscribes from capture end event callback.\n         *\n         * @param { 'captureEnd' } type - Event type.\n         * @param { AsyncCallback<CaptureEndInfo> } callback - Callback used to get the capture end information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from capture end event callback.\n         *\n         * @param { 'captureEnd' } type - Event type.\n         * @param { AsyncCallback<CaptureEndInfo> } callback - Callback used to get the capture end information.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'captureEnd', callback?: AsyncCallback<CaptureEndInfo>): void;\n        /**\n         * Subscribes capture ready event callback. After receiving the callback, can proceed to the next capture\n         *\n         * @param { 'captureReady' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to notice capture ready.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Subscribes capture ready event callback. After receiving the callback, can proceed to the next capture\n         *\n         * @param { 'captureReady' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to notice capture ready.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'captureReady', callback: AsyncCallback<void>): void;\n        /**\n         * Unsubscribes from capture ready event callback.\n         *\n         * @param { 'captureReady' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to notice capture ready.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Unsubscribes from capture ready event callback.\n         *\n         * @param { 'captureReady' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to notice capture ready.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'captureReady', callback?: AsyncCallback<void>): void;\n        /**\n         * Subscribes estimated capture duration event callback.\n         *\n         * @param { 'estimatedCaptureDuration' } type - Event type.\n         * @param { AsyncCallback<number> } callback - Callback used to notify the estimated capture duration (in milliseconds).\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Subscribes estimated capture duration event callback.\n         *\n         * @param { 'estimatedCaptureDuration' } type - Event type.\n         * @param { AsyncCallback<number> } callback - Callback used to notify the estimated capture duration (in milliseconds).\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'estimatedCaptureDuration', callback: AsyncCallback<number>): void;\n        /**\n         * Unsubscribes from estimated capture duration event callback.\n         *\n         * @param { 'estimatedCaptureDuration' } type - Event type.\n         * @param { AsyncCallback<number> } callback - Callback used to notify the estimated capture duration (in milliseconds).\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Unsubscribes from estimated capture duration event callback.\n         *\n         * @param { 'estimatedCaptureDuration' } type - Event type.\n         * @param { AsyncCallback<number> } callback - Callback used to notify the estimated capture duration (in milliseconds).\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'estimatedCaptureDuration', callback?: AsyncCallback<number>): void;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the photo output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the photo output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the photo output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the photo output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'error', callback?: ErrorCallback): void;\n        /**\n         * Gets the current preconfig type if you had already call preconfig interface.\n         *\n         * @returns { Profile } The current preconfig type.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets the current preconfig type if you had already call preconfig interface.\n         *\n         * @returns { Profile } The current preconfig type.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getActiveProfile(): Profile;\n        /**\n         * Confirm if moving photo supported.\n         *\n         * @returns { boolean } TRUE if the moving photo is supported.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Confirm if moving photo supported.\n         *\n         * @returns { boolean } TRUE if the moving photo is supported.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isMovingPhotoSupported(): boolean;\n        /**\n         * Enable moving photo.\n         *\n         * @permission ohos.permission.MICROPHONE\n         * @param { boolean } enabled - Target state for moving photo.\n         * @throws { BusinessError } 201 - permission denied.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Enable moving photo.\n         *\n         * @permission ohos.permission.MICROPHONE\n         * @param { boolean } enabled - Target state for moving photo.\n         * @throws { BusinessError } 201 - permission denied.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        enableMovingPhoto(enabled: boolean): void;\n        /**\n         * Gets the photo rotation angle.\n         *\n         * @param { number } deviceDegree - The current device rotation degree.\n         * @returns { ImageRotation } The photo rotation angle.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets the photo rotation angle.\n         *\n         * @param { number } deviceDegree - The current device rotation degree.\n         * @returns { ImageRotation } The photo rotation angle.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getPhotoRotation(deviceDegree: number): ImageRotation;\n    }\n    /**\n     * Frame shutter callback info.\n     *\n     * @typedef FrameShutterInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Frame shutter callback info.\n     *\n     * @typedef FrameShutterInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface FrameShutterInfo {\n        /**\n         * Capture id.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Capture id.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        captureId: number;\n        /**\n         * Timestamp for frame.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Timestamp for frame.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        timestamp: number;\n    }\n    /**\n     * Frame shutter end callback info.\n     *\n     * @typedef FrameShutterEndInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 12\n     */\n    /**\n     * Frame shutter end callback info.\n     *\n     * @typedef FrameShutterEndInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface FrameShutterEndInfo {\n        /**\n         * Capture id.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Capture id.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        captureId: number;\n    }\n    /**\n     * Capture start info.\n     *\n     * @typedef CaptureStartInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 11\n     */\n    /**\n     * Capture start info.\n     *\n     * @typedef CaptureStartInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CaptureStartInfo {\n        /**\n         * Capture id.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Capture id.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        captureId: number;\n        /**\n         * Time(in milliseconds) is the shutter time for the photo.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 11\n         */\n        /**\n         * Time(in milliseconds) is the shutter time for the photo.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        time: number;\n    }\n    /**\n     * Capture end info.\n     *\n     * @typedef CaptureEndInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Capture end info.\n     *\n     * @typedef CaptureEndInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CaptureEndInfo {\n        /**\n         * Capture id.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Capture id.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        captureId: number;\n        /**\n         * Frame count.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Frame count.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        frameCount: number;\n    }\n    /**\n     * Video output object.\n     *\n     * @extends CameraOutput\n     * @interface VideoOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Video output object.\n     *\n     * @extends CameraOutput\n     * @interface VideoOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface VideoOutput extends CameraOutput {\n        /**\n         * Start video output.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Start video output.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        start(callback: AsyncCallback<void>): void;\n        /**\n         * Start video output.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Start video output.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        start(): Promise<void>;\n        /**\n         * Stop video output.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Stop video output.\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        stop(callback: AsyncCallback<void>): void;\n        /**\n         * Stop video output.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Stop video output.\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        stop(): Promise<void>;\n        \n        /**\n         * Determine whether video mirror is supported.\n         *\n         * @returns { boolean } Is video mirror supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 15\n         */\n        /**\n         * Determine whether video mirror is supported.\n         *\n         * @returns { boolean } Is video mirror supported.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        isMirrorSupported(): boolean;\n        \n        /**\n         * Enable mirror for video capture.\n         *\n         * @param { boolean } enabled - enable video mirror if TRUE.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 15\n         */\n        /**\n         * Enable mirror for video capture.\n         *\n         * @param { boolean } enabled - enable video mirror if TRUE.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        enableMirror(enabled: boolean): void;\n        /**\n         * Get supported frame rates which can be set during session running.\n         *\n         * @returns { Array<FrameRateRange> } The array of supported frame rate range.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Get supported frame rates which can be set during session running.\n         *\n         * @returns { Array<FrameRateRange> } The array of supported frame rate range.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getSupportedFrameRates(): Array<FrameRateRange>;\n        /**\n         * Set a frame rate range.\n         *\n         * @param { number } minFps - Minimum frame rate per second.\n         * @param { number } maxFps - Maximum frame rate per second.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400110 - Unresolved conflicts with current configurations.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Set a frame rate range.\n         *\n         * @param { number } minFps - Minimum frame rate per second.\n         * @param { number } maxFps - Maximum frame rate per second.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400110 - Unresolved conflicts with current configurations.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        setFrameRate(minFps: number, maxFps: number): void;\n        /**\n         * Get active frame rate range which has been set before.\n         *\n         * @returns { FrameRateRange } The active frame rate range.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Get active frame rate range which has been set before.\n         *\n         * @returns { FrameRateRange } The active frame rate range.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getActiveFrameRate(): FrameRateRange;\n        /**\n         * Gets the video rotation angle.\n         *\n         * @param { number } deviceDegree - The current device rotation degree.\n         * @returns { ImageRotation } The video rotation angle.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets the video rotation angle.\n         *\n         * @param { number } deviceDegree - The current device rotation degree.\n         * @returns { ImageRotation } The video rotation angle.\n         * @throws { BusinessError } 7400101 - Parameter missing or parameter type incorrect.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getVideoRotation(deviceDegree: number): ImageRotation;\n        /**\n         * Subscribes frame start event callback.\n         *\n         * @param { 'frameStart' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes frame start event callback.\n         *\n         * @param { 'frameStart' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'frameStart', callback: AsyncCallback<void>): void;\n        /**\n         * Unsubscribes from frame start event callback.\n         *\n         * @param { 'frameStart' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from frame start event callback.\n         *\n         * @param { 'frameStart' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'frameStart', callback?: AsyncCallback<void>): void;\n        /**\n         * Subscribes frame end event callback.\n         *\n         * @param { 'frameEnd' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes frame end event callback.\n         *\n         * @param { 'frameEnd' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'frameEnd', callback: AsyncCallback<void>): void;\n        /**\n         * Unsubscribes from frame end event callback.\n         *\n         * @param { 'frameEnd' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from frame end event callback.\n         *\n         * @param { 'frameEnd' } type - Event type.\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'frameEnd', callback?: AsyncCallback<void>): void;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the video output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the video output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the video output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the video output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'error', callback?: ErrorCallback): void;\n        /**\n         * Gets the current preconfig type if you had already call preconfig interface.\n         *\n         * @returns { VideoProfile } The current preconfig type.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 12\n         */\n        /**\n         * Gets the current preconfig type if you had already call preconfig interface.\n         *\n         * @returns { VideoProfile } The current preconfig type.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        getActiveProfile(): VideoProfile;\n    }\n    /**\n     * Metadata object type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Metadata object type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum MetadataObjectType {\n        /**\n         * Face detection type.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Face detection type.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        FACE_DETECTION = 0\n    }\n    /**\n     * Rectangle definition.\n     *\n     * @typedef Rect\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Rectangle definition.\n     *\n     * @typedef Rect\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface Rect {\n        /**\n         * X coordinator of top left point.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * X coordinator of top left point.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        topLeftX: number;\n        /**\n         * Y coordinator of top left point.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Y coordinator of top left point.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        topLeftY: number;\n        /**\n         * Width of this rectangle.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Width of this rectangle.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        width: number;\n        /**\n         * Height of this rectangle.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Height of this rectangle.\n         *\n         * @type { number }\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        height: number;\n    }\n    /**\n     * Metadata object basis.\n     *\n     * @typedef MetadataObject\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Metadata object basis.\n     *\n     * @typedef MetadataObject\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface MetadataObject {\n        /**\n         * Metadata object type.\n         *\n         * @type { MetadataObjectType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Metadata object type.\n         *\n         * @type { MetadataObjectType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly type: MetadataObjectType;\n        /**\n         * Metadata object timestamp in milliseconds.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Metadata object timestamp in milliseconds.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly timestamp: number;\n        /**\n         * The axis-aligned bounding box of detected metadata object.\n         *\n         * @type { Rect }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * The axis-aligned bounding box of detected metadata object.\n         *\n         * @type { Rect }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly boundingBox: Rect;\n    }\n    /**\n     * Metadata Output object\n     *\n     * @extends CameraOutput\n     * @interface MetadataOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 10\n     */\n    /**\n     * Metadata Output object\n     *\n     * @extends CameraOutput\n     * @interface MetadataOutput\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface MetadataOutput extends CameraOutput {\n        /**\n         * Start output metadata\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Start output metadata\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        start(callback: AsyncCallback<void>): void;\n        /**\n         * Start output metadata\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Start output metadata\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @throws { BusinessError } 7400103 - Session not config.\n         * @throws { BusinessError } 7400201 - Camera service fatal error.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        start(): Promise<void>;\n        /**\n         * Stop output metadata\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Stop output metadata\n         *\n         * @param { AsyncCallback<void> } callback - Callback used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        stop(callback: AsyncCallback<void>): void;\n        /**\n         * Stop output metadata\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Stop output metadata\n         *\n         * @returns { Promise<void> } Promise used to return the result.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        stop(): Promise<void>;\n        /**\n         * Subscribes to metadata objects available event callback.\n         *\n         * @param { 'metadataObjectsAvailable' } type - Event type.\n         * @param { AsyncCallback<Array<MetadataObject>> } callback - Callback used to get the available metadata objects.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes to metadata objects available event callback.\n         *\n         * @param { 'metadataObjectsAvailable' } type - Event type.\n         * @param { AsyncCallback<Array<MetadataObject>> } callback - Callback used to get the available metadata objects.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'metadataObjectsAvailable', callback: AsyncCallback<Array<MetadataObject>>): void;\n        /**\n         * Unsubscribes from metadata objects available event callback.\n         *\n         * @param { 'metadataObjectsAvailable' } type - Event type.\n         * @param { AsyncCallback<Array<MetadataObject>> } callback - Callback used to get the available metadata objects.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from metadata objects available event callback.\n         *\n         * @param { 'metadataObjectsAvailable' } type - Event type.\n         * @param { AsyncCallback<Array<MetadataObject>> } callback - Callback used to get the available metadata objects.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'metadataObjectsAvailable', callback?: AsyncCallback<Array<MetadataObject>>): void;\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the video output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Subscribes to error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the video output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        on(type: 'error', callback: ErrorCallback): void;\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the video output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 10\n         */\n        /**\n         * Unsubscribes from error events.\n         *\n         * @param { 'error' } type - Event type.\n         * @param { ErrorCallback } callback - Callback used to get the video output errors.\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        off(type: 'error', callback?: ErrorCallback): void;\n    }\n    /**\n     * Enum for camera concurrent type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 18\n     */\n    /**\n     * Enum for camera concurrent type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    enum CameraConcurrentType {\n        /**\n         * Cameras concurrency with limited capabilities.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Cameras concurrency with limited capabilities.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_LIMITED_CAPABILITY = 0,\n        /**\n         * Cameras concurrency with full capabilities.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Cameras concurrency with full capabilities.\n         *\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        CAMERA_FULL_CAPABILITY = 1\n    }\n    /**\n     * Camera concurrent information.\n     *\n     * @interface CameraConcurrentInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @since 18\n     */\n    /**\n     * Camera concurrent information.\n     *\n     * @interface CameraConcurrentInfo\n     * @syscap SystemCapability.Multimedia.Camera.Core\n     * @atomicservice\n     * @since 19\n     */\n    interface CameraConcurrentInfo {\n        /**\n         * Camera instance.\n         *\n         * @type { CameraDevice }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Camera instance.\n         *\n         * @type { CameraDevice }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly device: CameraDevice;\n        /**\n         * Camera concurrent type.\n         *\n         * @type { CameraConcurrentType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Camera concurrent type.\n         *\n         * @type { CameraConcurrentType }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly type: CameraConcurrentType;\n        /**\n         * Supported scene modes.\n         *\n         * @type { Array<SceneMode> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Supported scene modes.\n         *\n         * @type { Array<SceneMode> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly modes: Array<SceneMode>;\n        /**\n         * Supported outputCapability.\n         *\n         * @type { Array<CameraOutputCapability> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @since 18\n         */\n        /**\n         * Supported outputCapability.\n         *\n         * @type { Array<CameraOutputCapability> }\n         * @readonly\n         * @syscap SystemCapability.Multimedia.Camera.Core\n         * @atomicservice\n         * @since 19\n         */\n        readonly outputCapabilities: Array<CameraOutputCapability>;\n    }\n}\nexport default camera;\n",
}
export default FILE;